函数在for循环处停止

时间:2018-02-02 01:15:24

标签: python python-3.x range

当我运行以下代码时,我在for循环中没有得到print语句。永远不会打印q的值。但是,如果我在REPL中创建range并执行相同的操作,则可以正常工作。

def main():
    startpoint = 1100000
    qs = range(startpoint, startpoint - 100)
    print("qs = %s" % qs)
    print("Approaching for loop")
    for q in enumerate(qs):
        print("Successfully entered for loop")
        print(q)
    return

if __name__ == "__main__":
    main()

什么阻止上述代码运行?

1 个答案:

答案 0 :(得分:5)

你的范围是一个空的生成器/列表(取决于python版本)。 发生这种情况是因为停止不到开始。 下一步使用第三个参数。

# range(start, stop, step)
qs = range(startpoint, startpoint - 100, -1)