鱼C论坛

 找回密码
 立即注册
查看: 1240|回复: 4

[已解决]python中for循环的一点问题

[复制链接]
发表于 2018-4-3 23:48:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
for i in range(0, 10)
不论循环体中对i做出什么样的修改,每次回到条件判断时i都会还原吗?
比如:
  1. for i in range(0, 10):
  2.     i += 1
  3.     print(i)
复制代码

输出会是1,2,3,4,5,...10。然而我在循环体内对i做了修改,如果在进行条件判断时使用的是新的i,不应该是这样的输出。
最佳答案
2018-4-4 07:44:59
理解是对的,循环体内对i的修改不影响每次循环开始时i的值
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-4 00:01:56 | 显示全部楼层
是把可迭代对象元素依次给i,相当于重新赋值
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-4 07:44:59 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
理解是对的,循环体内对i的修改不影响每次循环开始时i的值
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-4 08:50:20 | 显示全部楼层
你的理解是对的!
你循环内的i属于是变量赋值,循环体上的i属于记步的值它是由rang(0,10)逐次赋予的。
每次当i值循环发生变化时,其后的rang(0,10)又会重新给他赋值,所以如你所说。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-4 11:04:26 | 显示全部楼层
然而我在循环体内对i做了修改,如果在进行条件判断时使用的是新的i,不应该是这样的输出

感觉可以这么理解,Python的for循环里面是没有判断逻辑的,它只是依次把range(0,10)这个列表里面的数一个个拿出来赋值给i而已
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-10 04:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表