Python中range()的for循环执行机制及代码运行疑问解析
代码运行原理与执行过程解析
首先看这段代码的核心部分:range(3)在Python里会生成包含0、1、2的整数序列,所以for number in range(3)会循环3次,每次number分别取0、1、2这三个值。
逐次循环执行过程
第一次循环:
number = 0number + 1计算结果为1,对应第二个参数的数值- 第三个参数里的
number + 1同样基于number=0计算,结果还是1,1 * "."得到单个. - 最终输出:
attempt 1 .
第二次循环:
number = 1number + 1结果为2,对应第二个参数的数值2 * "."得到..- 最终输出:
attempt 2 ..
第三次循环:
number = 2number + 1结果为3,对应第二个参数的数值3 * "."得到...- 最终输出:
attempt 3 ...
解答你的核心疑问
你误以为第二个参数里的number + 1会修改number本身的值,但实际上number + 1只是一个临时计算结果,它不会改变变量number的原始值。每次用到number + 1时,都是基于循环当前的number初始值重新计算的,所以第一次循环里第三个参数的number + 1依然是0+1=1,自然只会得到1个点,而不是2个。
内容的提问来源于stack exchange,提问作者BRUUD-AH
相关产品推荐
相关产品推荐

