问题描述
我已经学习了Python的基础知识,目前正在尝试编写我的第一个小Python项目:一个基本的二十一点游戏。
我正在遇到
Index error: IndexError: list index out of range.
我用4张卡片创建了一个副牌:
deck = [2,3,4,5,6,7,8,9,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)])
如果我正在运行代码,则大多数情况下都可以运行,但是有时会引发名为IndexError
的
IndexError: list index out of range
我不明白为什么,因为我没有从卡组列表中弹出号码。卡将保留在索引处,sum(deck)
始终保持在52。
解决方法
random.randint(a,b)
返回一个介于a
到b
之间的整数。它是random.randrange(a,b+1)
的别名。因此,请使用random.randint(0,51)
或random.randrange(0,52)
。