文章详情页
python小白基础问题 关于while循环
浏览:304日期:2022-06-30 13:20:41
问题描述
题目:用python打印100以内所有的偶数
第一段代码:
n = 1i = 2*nwhile i <= 100: print(i) n+=1
代码执行结果:无限的打印数字2

第二段代码:
n = 1i = 2*nwhile i <= 100: print(i) n+=1 i = 2*n
代码执行结果:打印正确

我的问题:为什么第一段代码打印出来结果是错的,第二段代码仅仅只是在while循环里面加上i=2*n结果就对了?难道第一段代码中,n+=1的这一段,n在不断地加1的过程中,无法改变i的值么?为什么?
问题解答
回答1:在循环中,没有执行 i = 2*n,它的值又怎么会改变. 只有执行了相应的语句,才会改变的. 初始赋值 i = 2*n, i的值不会动态的随n的改变而改变,只有执行了相应的语句才会改变.
回答2:是的,第一段代码n加1并没有改变i的值,i一直是2.
while循环的语法是:while 条件: code...
只要条件满足True,就一直循环。
第一段的条件一直是 i < 100, 即 2 < 100, 满足条件,所以会不断循环。
上一条:Python2中code.co_kwonlyargcount的等效写法下一条:python3.x - python3.5使用pyinstaller打包报错找不到libpython3.5mu.so.1.0等文件求解?
相关文章:
1. javascript - 关于用户登录和信息存储的问题2. node.js - 如何在webstorm中启动并连接mongodb数据库呢?3. Hbuilder中的phpMyAdmin访问题4. javascript - 微信开发遇到的问题5. nlp - python如何对一篇文章自动分段?6. css3 - 新版支付宝 账单页面滑动时月份栏被下一个月给顶上去是什么效果7. html5 - 微信退出程序,存储和Cookie会丢失8. php - mysql中,作为主键的字段,用int类型,是不是比用char类型的效率更高?9. python - scrapy 爬取pages比实际进入items的多得多?10. mysql - 查询表里边id为16的content然后,更新id大于16的content为查出来的content
排行榜

网公网安备