【问题标题】:IndexError - 'List Index out of Range'IndexError - '列表索引超出范围'
【发布时间】:2015-06-26 17:45:59
【问题描述】:

这里是具体的错误回溯:

Traceback (most recent call last):
  File "D:\Code\New_folder\minsweeper_game_study.py", line 259, in game
    screen.blit(numbers[j.val], (j.x + 10, j.y + 10))
IndexError: list index out of range

在代码中,前面的部分是:

for i in lst:
       for j in i:
           if j.visible == True:
               screen.blit(white, (j.x, j.y))
               screen.blit(numbers[j.val], (j.x + 10, j.y + 10))
           if j.flag == True:
               screen.blit(flag, (j.x + 10, j.y +10))
           if j.flag == False and j.visible == False:
               screen.blit(grey, (j.x, j.y))

我试图做的是让用户点击生成的图表中的一个正方形,一旦他们点击,它就会检查数字是多少。这告诉它这个数字可能是范围明智的。

这里是整个代码的链接: https://drive.google.com/folderview?id=0B2RXBYwkd-QBfllUUXMtalRNZmZRemhLV1cyNlVKS3JTQlNyMWFjbGlXUWxnUDk4RmM4REU&usp=sharing

特定文件是minsweeper_game_study.py,执行该文件需要其他文件。

【问题讨论】:

  • 代码在哪里?请将代码的相关部分添加到您的问题中。如果你只是提供一些文件的链接,没有人会理解这个问题。
  • 它不是说“乱序”,而是说“超出范围”。这意味着您正在尝试访问(或更改)列表末尾之后的元素。比如x = [1,2,3],然后print(x[10]),你会得到同样的错误。
  • 抱歉刚刚添加了代码,我将如何修复该错误,对 python 来说还是新手,所以不太确定我在做什么
  • 第二,你能解释一下numbers应该是什么(特别是有多少东西),你是否确定这真的是numbers,什么应该是@987654329 @,以及您是否确定这确实是 j.val 中的内容?因为没有它,没有人能帮助你,而不是在你所有的代码中跋涉,试图弄清楚你的意图并猜测你可能出错的所有可能的地方。
  • 另外,您的代码链接已损坏;它转到一个文件列表,其中没有一个看起来像 Python 源代码。即使它有效,也不要只将重要信息放在外部文档中——有些人无法点击链接,或者不会足够信任你这样做;如果它因为您编辑文件或更改您的 Google Drive 帐户而变得陈旧,那么问题将变得毫无用处;并且它不能被搜索引擎索引,这意味着有类似程序的人不会看到你的问题。请阅读有关如何提问的帮助。

标签: python list python-3.4 indexoutofrangeexception index-error


【解决方案1】:

这意味着您尝试访问的索引超出了分配的内存范围。具体来说,这是在 'numbers[j.val]' 的 sn-p 中

【讨论】:

    猜你喜欢
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    相关资源
    最近更新 更多