【发布时间】:2017-08-09 08:32:36
【问题描述】:
s = 0
for s in xrange(0, 100):
print "s before", s
if s % 10 == 0:
s += 10
print "s after", s
s = 0
while s < 100:
print "s before", s
if s % 10 == 0:
s += 10
s += 1
print "s after", s
如上图所示,为什么这 2 个循环做类似的事情,一个使用 xrange 而另一个使用 while-loop 却给了我完全不同的输出?
【问题讨论】:
-
这些是不同的循环!
-
因为
for将s设置为可迭代对象,并且将s设置为循环中的其他内容不会更改可迭代对象。 -
你本质上是在问为什么
s = first_thing然后s = second_thing没有改变first_thing。 -
是的,非常感谢。知道了
标签: python python-2.7 xrange