函数在for循环处停止

emp*_*blk 0 python range python-3.x

当我运行以下代码时,我没有在for循环中获得任何print语句.q永远不会打印出值.但是如果我range在REPL中做了一个并做同样的事情,那就行了.

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()
Run Code Online (Sandbox Code Playgroud)

什么阻止上述代码运行?

Aru*_*ath 5

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

# range(start, stop, step)
qs = range(startpoint, startpoint - 100, -1)
Run Code Online (Sandbox Code Playgroud)

  • "开始不到停止" - 我认为你有倒退. (2认同)