"IndexError: list index out of range" for blackjack game

"IndexError: list index out of range" for blackjack game

我已经学习了 Python 的基础知识,目前正在尝试编写我的第一个 Python 小项目:一个基本的二十一点游戏。

我目前 运行

Index error: IndexError: list index out of range.

我创建了一个包含 4 套牌的牌组:

deck = [2,3,4,5,6,7,8,9,10,10,10,10,11] * 4 

我正在用 dealing_cards 函数处理卡片:

def dealing_cards():
    """Dealing cards"""
player_cards.append(deck[random.randint(0, 52)])
player_cards.append(deck[random.randint(0, 52)])
dealer_cards.append(deck[random.randint(0, 52)])
dealer_cards.append(deck[random.randint(0, 52)])

如果我是 运行 代码,它主要工作,但有时它会引发命名 IndexError:

IndexError: list index out of range

我不明白为什么,因为我没有从牌组列表中弹出号码。卡片保留在它们的索引处,sum(deck) 始终保持在 52。

random.randint(a, b) returns ab 范围内的整数,包括端值。它是 random.randrange(a, b+1) 的别名。所以要么使用 random.randint(0, 51),要么使用 random.randrange(0, 52).