You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含range函数的Python for循环转换为while循环?

问题:将for循环转换为while循环

原for循环代码:

sum = 0
for i in range (10,0,-1):
    sum = sum +1
    print(i,sum)

你尝试的代码存在几个问题:

  • 初始值i=1与原循环的遍历顺序相反,原循环是从10递减到1,你这里是从1递增
  • while i in range(10,0,-1)的判断方式效率低且逻辑不符合预期,range生成的是10、9...1的序列,你递增i会导致循环到11才停止,完全偏离原逻辑
  • 缺少原循环中sum的累加逻辑

正确的while循环实现

要对应原for循环的逻辑,我们需要模拟range(10,0,-1)的行为:从10开始,每次减1,直到i大于0时停止循环。代码如下:

sum = 0
i = 10
while i > 0:
    sum += 1
    print(i, sum)
    i -= 1

这段代码的执行逻辑和原for循环完全一致:

  • 初始化sum为0,i为10(对应range的起始值)
  • 循环条件i > 0对应range的结束值0(不包含0)
  • 每次循环后i -= 1对应range的步长-1
  • 保留原有的sum累加和打印逻辑

注:for循环是比while循环更优的解决方案。

内容的提问来源于stack exchange,提问作者ATTILA THE NUN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 09:10:44