Python循环为什么不是从1开始,如何显示百分比进度
·
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%
总结
range(20)默认从 0 开始,显示用i+1就能从 1 开始- 百分比用
(i+1)/20*100计算 - 代码可以直接复制运行,完美实现你要的效果
更多推荐


所有评论(0)