python-下班倒计时
编译环境
本程序使用python3编译器
程序效果
优化了下输出时间
程序源码
import time
from datetime import datetime
# 计算剩余时间
def calculate_remaining_time(end_time):
current_time = datetime.now() # 获取当前时间
remaining_time = end_time - current_time # 计算剩余时间
return remaining_time
# 显示进度条和剩余时间
def display_progress_and_time(progress, remaining_time):
progress_bar_length = 40
filled_length = int(progress * progress_bar_length)
remaining_length = progress_bar_length - filled_length
progress_bar = '█' * filled_length + '-' * remaining_length
percentage = progress * 100
remaining_str = str(remaining_time)
if '.' in remaining_str:
remaining_str = remaining_str.split(".")[0] # 去除小数部分
print(f'进度:|{progress_bar}| {percentage:.2f}% 距离下班还有:{remaining_str}', end='\r')
def main():
# 下班时间,这里默认是21点下班
end_time = datetime.now().replace(hour=21, minute=0, second=0, microsecond=0)
# 上班时间,这里默认是9点上班
start_time = datetime.now().replace(hour=9, minute=0, second=0, microsecond=0)
while True:
# 计算进度和剩余时间
remaining_time = calculate_remaining_time(end_time)
total_seconds = remaining_time.total_seconds()
progress = 1 - (total_seconds / (end_time - start_time).total_seconds())
if progress >= 1:
print('\n该下班啦!')
break
display_progress_and_time(progress, remaining_time)
time.sleep(1) # 每秒更新一次进度条和剩余时间
if __name__ == "__main__":
main()