在Python中,如何将整数分配给包含字符串的列表中的元素?
制作卡片组后,我想为每张卡片分配一个值,以便 黑桃之王(值为13)的值高于在Python中,如何将整数分配给包含字符串的列表中的元素?,python,list,Python,List,制作卡片组后,我想为每张卡片分配一个值,以便 黑桃之王(值为13)的值高于 例如,黑桃皇后(12)。我不知道该怎么做。因为你的目标是将一张卡与一个值关联起来,所以你想用字典来代替(就像评论中说的那样)。以下是一个不会对代码进行太多更改的实现,它可以帮助您: ## made a list of playing cards e.g. 2C 2 of Clubs and QS is queen of Spades num=0 numberlist=[] newSuitL
例如,黑桃皇后(12)。我不知道该怎么做。因为你的目标是将一张卡与一个值关联起来,所以你想用字典来代替(就像评论中说的那样)。以下是一个不会对代码进行太多更改的实现,它可以帮助您:
## 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
因此,您可以访问这样的卡
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
然后
getCardvalue('Q')
将返回值12
您正在查找的是dict而不是list。您可能希望看看这些用Python表示扑克牌的方法-我没有意识到这一点。谢谢不使用dict就可以做到这一点吗?老师现在不想让我们使用听写,看上面的答案
cards = ['A', 2, 3 , 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K']
def getCardValue(card):
return cards.index(card) + 1