下面的代码将输出什么
for i in range(5):
continue
print(i)
由于变量不在范围内,因此上述代码为何起作用。还有为什么i的值限制为4?
答案 0 :(得分:0)
它正在遍历范围[0,1,2,3,4]并且什么也不做。 “ i”是迭代器,最后一个是“ 4”,因此您正在打印它。
答案 1 :(得分:0)
该变量未超出范围。 python中的局部变量在定义该函数的任何地方都可用。如果不在函数中,则该变量具有全局作用域。之所以这样做是因为,不需要像在C或Java中那样在python中声明变量。请注意,您在函数内部使用的任何变量也可以在循环外部使用。
例如:
for foo in range(10):
bar = 2
print(foo, bar)
这将打印9 2
。
关于您的第二个问题,python中的大多数东西都有包含的下限和排除的上限。也就是说,range(5)
实际上是[0, 1, 2, 3, 4]
。
您可以通过运行print(list(range(5)))
进行验证。
如果需要范围1-5
,则可以使用range(1, 6)
。