Dar*_*ati 2 python dictionary keyerror
我是一名 Python 初学者,正在尝试制作 21 点游戏,并且不断收到有关此代码的多个关键错误
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)
Run Code Online (Sandbox Code Playgroud)
当我尝试像这样调用函数时发生错误
def draw_card(card):
card_rank=Card.rank(rank)
card_suit=Card.suit(suit)
card={card_suit:card_rank}
return card
Run Code Online (Sandbox Code Playgroud)
尝试使用“Card”类中的“rank”函数将属性应用于新的“card”变量
random.choice在输入中使用list(或tuple)(它需要整数索引对象)。
所以只需将rank字典(值,它是)转换为 alist然后选择一个值:像这样(我创建了一个新函数,因为这个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()))
Run Code Online (Sandbox Code Playgroud)
list(rank.values())是需要在Python 3,字典值不再的list类型。也许你想预先计算这个列表以节省计算时间。
| 归档时间: |
|
| 查看次数: |
3630 次 |
| 最近记录: |