Python如何使用while循环按指定步长打印0到100范围内的所有数字
代码问题排查及修复
现有代码问题梳理
for循环版本问题
- 变量命名冲突:参数名和循环变量都用了
x,命名不规范可读性差 - 区间设置错误:
range(0,100,x)的结束值为开区间,无法覆盖到100,不符合题目要求的包含100的输出规则
while循环版本问题
- 执行顺序错误:先做
count +=x的累加操作再打印,导致第一个输出值是step而非要求的起始值0 - 边界判断漏洞:累加后才做边界校验,会输出超过100的数值,不符合输出范围要求
修复后代码
for循环实现
def print_by_step(step): # range结束值设置为101,才可包含100 for num in range(0, 101, step): print(num)
while循环实现
def print_by_step(step): count = 0 while count <= 100: # 先打印当前符合范围要求的数值 print(count) # 打印完成后再更新计数 count += step
内容的提问来源于stack exchange,提问作者Andrewgorn
相关产品推荐
相关产品推荐

