Python循环为什么不是从1开始,如何显示百分比进度
结果:进度:9/10

for i in range(10):
    print(f"\r进度:{i}/10", end="", flush=True)
    time.sleep(0.5)

PYTHON ,后面加上100% 格式显示,数字为什么不是1开始

进度从 0 开始加上 100% 显示,直接给你改好完整代码 + 解释。

先看完整可用代码

import time  # 必须导入time模块,否则会报错

for i in range(20):
    # 进度 + 百分比 格式
    print(f"\r进度:{i+1}/20  {int((i+1)/20*100)}%", end="", flush=True)
    time.sleep(0.5)

print("\n执行完成!")

问题 1:为什么数字不是从 1 开始?

因为 range(20) 生成的数字是:0,1,2,3...19默认从 0 开始计数,这是 Python 的规则。

想让它从 1~20 显示,只需要把 i 改成 i+1


问题 2:如何加上 100% 格式?

百分比 = (当前数 / 总数) * 100

套进你的代码就是:

(int((i+1)/20*100))%

最终效果 运行后会在同一行动态刷新

进度:1/20  5%
进度:2/20  10%
...
进度:20/20  100%

总结

  1. range(20) 默认从 0 开始,显示用 i+1 就能从 1 开始
  2. 百分比用 (i+1)/20*100 计算
  3. 代码可以直接复制运行,完美实现你要的效果
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐