当我运行以下代码时,我在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()
什么阻止上述代码运行?
答案 0 :(得分:5)
你的范围是一个空的生成器/列表(取决于python版本)。 发生这种情况是因为停止不到开始。 下一步使用第三个参数。
# range(start, stop, step)
qs = range(startpoint, startpoint - 100, -1)