繁体   English   中英

列表索引超出范围,我该如何解决?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM