我的列表索引有什么问题?指出索引错误

时间:2016-01-20 13:03:12

标签: python-3.3 traceback

{{1}}

当我将其处理成python时,程序会打印出这个错误:

{{1}}

有人可以帮助我并尝试为我修复我的代码,谢谢

阿尔贝托

2 个答案:

答案 0 :(得分:2)

这里似乎有多处错误。首先,在第一个循环中,您假设文件至少有9行,这可能不是真的。更重要的是,您永远不会调用easy_mode,因此numbers在您的第二个循环中实际上是空的

答案 1 :(得分:1)

这个标签很奇怪,所以我不能完全确定函数内部是什么,但我认为

from random import randint

for i in range(9):
    print(numbers[randint(0,8)])

在函数之外,我的猜测是你没有调用函数,只是加载了脚本并开始执行跳过函数,最后 numbers 变量是空的,因此任何指数超出范围。

编辑: 所以代码的工作版本应该是这样的(假设文件确实包含至少9行):

numbers = []

def easy_mode():
    with open("aa.txt","r") as f:
        for i in range(9):
            numbers.append(f.readline().strip())
        print(numbers)

from random import randint

easy_mode()
for i in range(9):
    print(numbers[randint(0,8)])