2017-11-11 3 views
-1
## made a list of playing cards e.g. 2C 2 of Clubs and QS is queen of Spades 
    num=0 
    numberlist=[] 
    newSuitList= [] 
    for i in range(8): 
     num = 2 
     num = num + i 
     num = str(num) + 'C' 
     numberlist.append(num) 
    for i in range (5): 
     suitList = ["T", "J", "Q", "K", "A"] 
     suit = suitList[i] + 'C' 
     newSuitList.append(suit) 
    wholeDeck = numberlist+newSuitList 

デッキを行った後、私は、各カードに値を代入したいので(値13を有する)スペードのキングは、例えば、スペードの クイーン(12)よりも高い値を有すること 。私はそれを行う方法を理解することはできません。Pythonでは、文字列を含むリストの要素に整数を割り当てるにはどうすればいいですか?

+3

あなたはリットルいる値を返しますlistの代わりにdictを呼び出す。 –

+0

Pythonでトランプカードを表現するには、次のような方法があります。https://stackoverflow.com/questions/2518753/best-way-to-implement-a-deck-for-a-card-game-in- python – Bert

+0

私はそれを認識しませんでした。ありがとう! –

答えて

0

あなたの目標は、カードを値に関連付けることなので、代わりに辞書を使用したいと思います(コメントのように)。ここであなたを助けることができるあなたのコードの多くを変更しない実装です:

num=0 
wholeDeck = {} 
for i in range(8): 
    num = 2 
    num += i 
    wholeDeck[str(num)+'C'] = num 
suitList = ["T", "J", "Q", "K", "A"] 
for item in suitList: 
    num +=1 
    wholeDeck[item+'C'] = num 

あなたは、それゆえ、そのようにカードにアクセスすることができ、リストを使用してしまうために

print(wholeDeck['KC']) --> returns 13 
+0

これはdictを使わずに可能ですか?先生は、私たちが今では辞書を使っているのを望んでいません。 –

+0

上記の答えを見てください – scharette

0

もう一つの簡単な方法:

cards = ['A', 2, 3 , 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K'] 

def getCardValue(card): 
    return cards.index(card) + 1 

はその後getCardvalue('Q')12

関連する問題