【问题标题】:Associating values in list with integers in Python将列表中的值与Python中的整数相关联
【发布时间】:2017-05-15 08:51:37
【问题描述】:

我正在开发一个简单的二十一点游戏。

deck = ['Ace',2,3,4,5,6,7,8,9,10,'Jack','Queen','King']

card_1 = random.choice(deck)
card_2 = random.choice(deck)

def my_hand(card_1,card_2):
    total = card_1 + card_2
    if total > 21:
        return "Bust!"
    elif total == 21:
        return "Blackjack!"
    elif total < 21:
        return "Hit again?"

print card_1,'and',card_2 
my_hand(card_1,card_2)

如何为列表中的特定项目分配整数值?也就是说,我想将'Ace'分配给整数1或11,'Jack'、'King'和'Queen'等于10。

谢谢。

【问题讨论】:

  • 我不清楚你想要什么。您想更新deck 列表吗?或者您想将 'Ace' 映射到另一个数据结构中的 1 或 11?
  • 为什么要以“Ace”之类的名字开头,这些名字只适用于人类?只需在整个程序中使用数字来表示卡片,然后仅将它们转换为单词以输出给人类。仅仅因为计算机语言可以使用字母串并不意味着这是一个好主意。

标签: python list function loops blackjack


【解决方案1】:

使用字典(我建议您将所有键转换为字符串):

deck = {'Ace':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'10':10,
 'Jack':10,'Queen':10,'King':10}

【讨论】:

  • 这行得通,但很愚蠢。卡片应仅表示为数字,并且仅在输出给人类时转换为“Ace”之类的名称。
猜你喜欢
  • 2017-06-13
  • 2013-12-15
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 2017-10-07
  • 1970-01-01
  • 2015-03-19
  • 2012-12-04
相关资源
最近更新 更多