我是一个 python 初学者,试图制作二十一点游戏,并且一直不断收到有关此代码的多个关键错误
def rank(rank):
rank={
'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'10':10,'Jack':10,
'King':10,'Queen':10,'Ace':1}
return random.choice(rank)
当我尝试像这样调用函数时发生错误
def draw_card(card):
card_rank=Card.rank(rank)
card_suit=Card.suit(suit)
card={card_suit:card_rank}
return card
尝试使用“Card”类中的“rank”函数将属性应用于新的“card”变量
random.choice
需要一个list
(or tuple
)在输入中(它需要整数可索引对象)。
所以只需转换rank
字典(值,它是)到list
然后选择一个值:像这样(我创建了一个新函数,因为rank(rank)
位没有意义,你不需要参数来选择一张卡:
# globally defined (constant), pointless to define it locally, you may
# need it in another part of the program
rank={'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'10':10,'Jack':10,
'King':10,'Queen':10,'Ace':1}
def pick():
return random.choice(list(rank.values()))
list(rank.values())
is required在 python 3 中,字典值不再是list
类型。也许您想预先计算此列表以节省计算时间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)