Python print语句没有执行

时间:2017-04-15 09:56:19

标签: python

我有一个函数,我正在从我的主函数调用。

/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java5/jre/bin:/usr/java5/bin

这很好用。但是,当我再添加一个语句时,只会执行第一个打印。

def generate_new(tokens, outfile):
    print('NO')
    new_sents = []
    for i in range(0, len(tokens)):
        first = tokens[i]
        second = tokens[i]
    print('YES')

我已经尝试过冲洗缓冲区了。我怀疑这是一个缩进问题,但此代码以前运行正常。我在函数的末尾添加了一些语句,从那以后它永远不会执行循环外的语句。可能是什么问题?谢谢。

1 个答案:

答案 0 :(得分:2)

问题是您正在访问列表tokens越界,

range(0, len(tokens))0转到len(tokens)-1

现在,当您访问tokens[i+1]时,它会抛出索引超出绑定的异常并且执行停止。因此,循环执行后没有任何内容。

您应该能够在控制台上看到异常。

无论如何,修复 -

更改逻辑或仅迭代len(tokens)-1

我希望能解释这个问题。

相关问题