《云计算全栈》-python篇:编写类进度条程序

Netany ·
更新时间:2024-05-16
· 945 次阅读

4 案例3:编写类进度条程序
4.1 问题

创建railway.py文件,实现以下目标:

在屏幕上打印20个#号
符号@从20个#号穿过
当@符号到达尾部,再从头开始
123

4.2 方案

利用while循环方法依次打印1个@和19个#,每循环一次,@所在位置后移一位,利用\r后内容覆盖前面内容,并利用程序休眠时间差,达到动态效果,需要注意的是:

1.\r表示将输出的内容返回到第一个指针,后面的内容会覆盖前面的内容

2.sys.stdout.flush()这句代码的意思是刷新输出,让循环结果依次显示,而不是一次性显示

3.time模块中的sleep方法让程序休眠
4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:编写脚本

[root@localhost day05] # vim railway.py
#!/usr/bin/env python3
import time
import sys
l = 19
counter = 0
print('#' * (l + 1), end='')
while True:
    sys.stdout.flush()
    time.sleep(0.2)
    print('\r%s@%s' % ('#' * counter, '#' * (l - counter)), end='')
    counter += 1
    if counter > l:
        counter = 0
1234567891011121314

步骤二:测试脚本执行

[root@localhost day05]# python3 railway.py 
####@###############
[root@localhost day05]# python3 railway.py 
###########@########^Z
[3]+  已停止               python3 railway.py
12345
                                
发布了404 篇原创文章 · 获赞 56 · 访问量 4万+

作者:Wang cheng zhi



进度条 程序 云计算 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号