Python循环问题:需实现索引每次递增5,现有循环方案存在异常
Python循环实现步长为5的递增打印解决方案
问题回顾
需要输出间隔为5的数值:5、10、15…直到不超过75,但之前的两种循环写法都存在问题:
- 错误的for循环
for index in range(75): index += 5 print(index)
问题出在range(75)会生成0到74的整数序列,每次循环index会被重新赋值为当前迭代的数,加5后打印自然得到5、6、7…80,完全没达到步长5的要求。
- 错误的while循环
x = 0 while x < 75 : x += 5 print(x) if x >= 75 : x = 0
死循环的原因是当x加到75时,手动把x重置为0,导致while x <75的条件再次成立,循环永远无法结束。
正确实现方案
方案1:用for循环(推荐)
利用range()函数的步长参数,直接生成符合要求的序列,代码简洁高效:
# 生成5到75(包含75)的序列,步长为5 for num in range(5, 76, 5): print(num)
range(start, stop, step)遵循左闭右开规则,要包含75的话stop需设为76,步长step设为5,循环变量num会直接是5、10、15…75,直接打印即可。
方案2:用while循环
去掉多余的重置逻辑,让循环自然结束:
x = 0 while x < 75: x += 5 print(x)
当x加到75时,x <75的条件不成立,循环自动终止,输出结果就是5、10…75。
内容的提问来源于stack exchange,提问作者Google User
相关产品推荐
相关产品推荐

