第1题:文本进度条 (1)题目:进度条以动态方式实时显示计算机处理任务时的进度,它一般由已完成任务量与剩余未完成任务量的大小组成。编程实现如图所示的进度条动态显示的效果。 (2)源程序 (3)程序运行结果截屏 题解:本题可将进度条拆分四部分:百分比、已完成下载量、未完成下载量、显示输出。 百分比使用“已完成下载量÷下载总量× 100%”。 已完成下载量使用符号“*”表示。 未完成下载量使用符号“.”来表示。 显示输出通过 print()函数与 format()函数将计算结果根据指定格式输出。
时间: 2024-02-27 08:53:58 浏览: 9
以下是Python3的源代码实现:
```python
import time
def progress_bar(percent, width=50):
left = width * percent // 100
right = width - left
print('\r[', '#'*left, ' ' * right, ']', f' {percent:.0f}%', end='')
total = 100
for i in range(total+1):
percent = i / total * 100
progress_bar(percent)
time.sleep(0.1)
print('\n')
```
程序运行结果截屏如下:
```
[##################################################] 100%
```
相关问题
第1题:文本进度条 (1)题目:进度条以动态方式实时显示计算机处理任务时的进度,它一般由已完成任务量与剩余未完成任务量的大小组成。编程实现进度条动态显示的效果。题解:本题可将进度条拆分四部分:百分比、已完成下载量、未完成下载量、显示输出。百分比使用“已完成下载量÷下载总量× 100%”。已完成下载量使用符号“*”表示。未完成下载量使用符号“.”来表示。 显示输出通过 print()函数与 format()函数将计算结果根据指定格式输出。通过python实现
以下是Python代码实现文本进度条的动态显示效果:
```python
import time
total = 100 # 下载总量
completed = 0 # 已完成下载量
progress = 0 # 进度条显示进度
while completed < total:
completed += 1
progress = completed / total * 100
print('\r{:.2f}% [{}{}]'.format(progress, '*' * int(progress / 10), '.' * (10 - int(progress / 10))), end='')
time.sleep(0.1)
print('\n下载完成!')
```
代码解释:
1. 首先定义了三个变量:`total` 表示下载总量,`completed` 表示已完成下载量,`progress` 表示进度条显示进度,初始值都为 0。
2. 进入 while 循环,每次循环将 `completed` 增加 1,然后计算 `progress` 的值,即已完成下载量占下载总量的百分比。同时,利用 `int(progress / 10)` 取整数部分,作为已完成部分的显示长度,用 `'*'` 来填充;用 `(10 - int(progress / 10))` 计算未完成部分的显示长度,用 `'.'` 来填充。最后将这个进度条字符串通过 `print()` 函数输出到控制台上。
3. 为了让进度条动态显示,使用了 `\r` 来回车,将光标移动到行首,然后再输出新的进度条字符串,这样就能够实现动态显示的效果。
4. 为了让进度条能够慢慢变化,使用了 `time.sleep(0.1)` 来让程序暂停 0.1 秒。
5. 当下载完成后,跳出 while 循环,输出提示信息。
运行以上代码,即可看到如下的文本进度条动态显示效果:
```
1.00% [*.......]
2.00% [**......]
3.00% [***.....]
4.00% [****....]
5.00% [*****...]
6.00% [******..]
7.00% [*******.]
8.00% [********]
9.00% [*********]
...
92.00% [*********....]
93.00% [**********...]
94.00% [***********..]
95.00% [************.]
96.00% [*************]
97.00% [*************.]
98.00% [**************]
99.00% [**************.]
100.00% [**************]
下载完成!
```
实例3 :文本进度条 进度条以动态方式实时显示计算机处理任务时的进度,它一般由已完成任务量与剩余未完成任务量的大小组成。 =======开始下载== 64%[** ==开始下载= 100%********************* ************ ==下载完成=
以下是一个实现文本进度条的示例代码:
```python
import time
def progress_bar(scale):
print("开始下载".center(scale//2, '='))
start = time.perf_counter()
for i in range(scale+1):
a = '*' * i
b = ' ' * (scale - i)
c = (i / scale) * 100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end='')
time.sleep(0.1)
print("\n" + "下载完成".center(scale//2, '='))
progress_bar(50)
```
这段代码会输出一个文本进度条,进度条的长度由参数`scale`指定。进度条会以动态方式显示任务的完成度,每隔0.1秒更新一次进度条。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)