[英]List index is out of range, how do I fix that?
我正在编写二十一点游戏。
输出说我的列表索引超出范围,这是为什么?
我的代码:
playercard1 = randint (cards[0],cards[12])
if cards[playercard1] == 10 or cards[playercard1] == 11 or cards[playercard1] == 12:
print ("Your card has a point value of ten.")
playerpoints = playerpoints + 10
您好 Lauren,当您为“playercard1”变量赋值时,您使用的是“randint()”函数。 此函数的参数是两个整数 (a,b),因此“randint(”) 函数返回的值介于 a 和 b 之间,包括 a 和 b 本身。 你传递给这个函数的值是“cards[0]”和“cards[12]”。 我不确定这些值是什么,但我相信你的意思是只传递整数 0 和 12,就像这样。
playercard1 = randint(0,12)
当python解释器引发该错误消息时,意味着您正在尝试访问数组中不存在的访问和索引。 请记住,python 中的索引数组从 0 开始,这意味着如果您有一个列表
aList = ['a','b','c','d']
索引将是: [0,1,2,3]
。 如果你打电话
aList[3] #will return 'd'
但如果你打电话例如:
aList[4] # will raise that error
这是一个常见的错误,也许您正试图在 for 循环中访问列表,而您没有正确使用索引!
尝试查看错误发生的位置并检查您正在使用的索引发生了什么
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.