python小白基础问题 关于while循环
题目:用python打印100以内所有的偶数
第一段代码:
n = 1
i = 2*n
while i <= 100:
print(i)
n+=1
代码执行结果:无限的打印数字2
第二段代码:
n = 1
i = 2*n
while i <= 100:
print(i)
n+=1
i = 2*n
代码执行结果:打印正确
我的问题:
为什么第一段代码打印出来结果是错的,第二段代码仅仅只是在while循环里面加上i=2*n结果就对了?难道第一段代码中,n+=1的这一段,n在不断地加1的过程中,无法改变i的值么?为什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在循环中,没有执行
i = 2*n
,它的值又怎么会改变. 只有执行了相应的语句,才会改变的.初始赋值
i = 2*n
,i
的值不会动态的随n
的改变而改变,只有执行了相应的语句才会改变.是的,第一段代码n加1并没有改变i的值,i一直是2.
只要条件满足True,就一直循环。
第一段的条件一直是 i < 100, 即 2 < 100, 满足条件,所以会不断循环。