用Python编写:模拟输出简单的非刷新文本进度条。要求按照任务执行百分比将整个任务划分为100个单位,每执行10%输出一次进度条,每行输出包含进度百分比、代表已完成部分(**)和未完成部分(..)的两种字符,以及一个跟随完成度前进的小箭头,风格如下:
时间: 2024-10-17 22:13:11 浏览: 39
你可以使用Python的`time`模块来控制输出的速度,并利用`format`函数来构建输出字符串。下面是一个简单的实现:
```python
import time
def progress_bar(progress, total=100):
# 完成度计算
completed_units = progress // 10
remaining_units = total - progress
# 计算已占满的星号和点的数量
stars = '#' * completed_units
dots = '.' * remaining_units
# 箭头方向
arrow = '>' if completed_units < total else ' ')
# 创建进度条字符串
bar = f"{progress}% | {stars}{arrow}{'.' * (9 - len(stars))} | {dots}"
# 控制输出间隔,每10%输出一次
if progress % 10 == 0:
print(bar, end="\r") # 使用"\r"保证输出在同一行替换旧的内容
time.sleep(0.5) # 暂停片刻以看到进度更新
# 示例:模拟任务执行
for i in range(110):
progress_bar(i)
```
运行这个脚本,你会看到随着`i`值的增加,进度条会以10%为步长逐步更新。
阅读全文