python沙漏打印
时间: 2024-09-12 11:08:29 浏览: 48
在Python中,我们可以使用`tqdm`库(Thousand-Queens Problem iterator in Python)来创建沙漏(也称为倒计时或双锥形进度条)效果的打印。`tqdm`提供了一种直观的方式来跟踪迭代过程的进度。以下是一个简单的例子:
```python
from time import sleep
from tqdm import tqdm
# 定义沙漏的时间间隔和每个阶段的时间
interval = 0.5
first_half_time = interval * 60 # 上半部分时间(60秒)
second_half_time = interval * 60 # 下半部分时间(60秒)
# 创建一个空列表用于模拟进展
progress = []
# 使用tqdm创建一个沙漏形状的进度条
for _ in tqdm(range(first_half_time + second_half_time), desc="沙漏倒计时"):
# 第一阶段,填满上半部分
if len(progress) < first_half_time:
progress.append(".")
else:
break
# 暂停一段时间
sleep(interval)
# 第二阶段,开始倒空下半部分
for _ in tqdm(range(second_half_time), desc=". . .", leave=False):
if not progress:
break
progress.pop(0)
sleep(interval)
# 打印最终的沙漏形状
print("\n".join(progress))
```
在这个示例中,我们先填充了上半部的沙漏(表示时间流逝),然后逐渐减少下半部的沙子,直到完全清空。`desc`参数定义了每个阶段的描述文字,`leave=False`确保每一阶段结束后清除进度条,使得下半部分沙子的效果更为明显。
运行这段代码,你将看到一个动态的沙漏倒计时效果。
阅读全文