python小白基础问题 关于while循环

发布于 2022-09-04 23:16:12 字数 790 浏览 27 评论 0

题目:用python打印100以内所有的偶数

第一段代码

n = 1
i = 2*n
while i <= 100:
    print(i)
    n+=1

代码执行结果:无限的打印数字2

clipboard.png

第二段代码:

n = 1
i = 2*n
while i <= 100:
    print(i)
    n+=1
    i = 2*n

代码执行结果:打印正确

clipboard.png

我的问题:
为什么第一段代码打印出来结果是错的,第二段代码仅仅只是在while循环里面加上i=2*n结果就对了?难道第一段代码中,n+=1的这一段,n在不断地加1的过程中,无法改变i的值么?为什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

人海汹涌 2022-09-11 23:16:12

在循环中,没有执行 i = 2*n,它的值又怎么会改变. 只有执行了相应的语句,才会改变的.
初始赋值 i = 2*n, i的值不会动态的随n的改变而改变,只有执行了相应的语句才会改变.

痴梦一场 2022-09-11 23:16:12

是的,第一段代码n加1并没有改变i的值,i一直是2.

while循环的语法是:
while 条件:
    code...

只要条件满足True,就一直循环。

第一段的条件一直是 i < 100, 即 2 < 100, 满足条件,所以会不断循环。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文