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)
当我尝试像这样调用函数时发生错误
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(或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()))
list(rank.values())是需要在Python 3,字典值不再的list类型。也许你想预先计算这个列表以节省计算时间。