输出不正确 - 对原因感到困惑

时间:2017-04-15 15:20:15

标签: linux python-3.x terminal

你好!所以在用户输入字符串之后,['abc','def','ghi']在这种情况下,我试图让我的函数的输出看起来像:

['abc', 'def', 'ghi]
1 abc
2 def
3 ghi

- 这是我的职责:

import read_lines

lines = []

print(lines)

ci = 0

contin = True

while contin:

    if len(lines) <= ci:

            contin = False

    else:

            line = lines[ci]

            ci += 1

            print(ci, line)

- 但是,输出只显示:

['abc', 'def', 'ghi']  
[]  

-Side注意:我必须使用while循环来完成作业。

1 个答案:

答案 0 :(得分:1)

<=后需要if len(lines) < ci':个符号。我不确定两个标志是否低于标志是否是一个错字。当您的程序运行时,它会向ci添加一个。最终ci = 4由于+= 1(因为我确定你知道),但由于计算机无法识别3小于3,因此它会继续else }语句,从而显示索引超出范围,因为列表中没有索引4,只有0,1和2。

修改

else:
    line = lines[ci]
    ci += 1
    print(ci, line)