用python以数码管的形式写毕业倒计时
时间: 2023-06-10 09:03:28 浏览: 171
好的,我可以为您提供代码实现。以下是以数码管形式写的Python毕业倒计时代码:
```
import time
def print_number(num):
n = [['###', '# #', '# #', '# #', '###'], [' #', ' #', ' #', ' #', ' #'], ['###', ' #', '###', '# ', '###'], ['###', ' #', '###', ' #', '###'], ['# #', '# #', '###', ' #', ' #'], ['###', '# ', '###', ' #', '###'], ['###', '# ', '###', '# #', '###'], ['###', ' #', ' #', ' #', ' #'], ['###', '# #', '###', '# #', '###'], ['###', '# #', '###', ' #', '###']]
for line in n[num]:
print(line)
def countdown(year, month, day):
while True:
future_date = (year, month, day)
current_time = time.localtime()
current_date = (current_time.tm_year, current_time.tm_mon, current_time.tm_mday)
current_clock = (current_time.tm_hour, current_time.tm_min, current_time.tm_sec)
if current_date >= future_date:
print('Congratulations on your graduation!')
break
else:
print('Graduation Countdown:')
remaining_time = time.mktime(time.strptime('{}-{}-{} 00:00:00'.format(year, month, day), '%Y-%m-%d %H:%M:%S')) - time.mktime(current_time)
remaining_days = int(remaining_time / 86400)
remaining_hours = int((remaining_time % 86400) / 3600)
remaining_minutes = int(((remaining_time % 86400) % 3600) / 60)
remaining_seconds = int(((remaining_time % 86400) % 3600) % 60)
print('{} Days {} Hours {} Minutes {} Seconds'.format(remaining_days, remaining_hours, remaining_minutes, remaining_seconds))
print_number(int(remaining_days / 10))
print_number(remaining_days % 10)
print_number(int(remaining_hours / 10))
print_number(remaining_hours % 10)
print_number(int(remaining_minutes / 10))
print_number(remaining_minutes % 10)
print_number(int(remaining_seconds / 10))
print_number(remaining_seconds % 10)
time.sleep(1)
countdown(2022, 6, 30)
```
在上述代码中,我们使用了一个名为“print_number”的函数,用于输出数字的数码管形式。然后我们定义了一个“倒计时”(countdown)函数,其中使用了“time”模块来计算当前时间和未来的毕业日期之间的差距,然后在控制台上输出剩余时间并以数码管的形式展示。最后,我们调用“倒计时”函数,将毕业日期作为参数传递给函数即可。
注意:该代码会一直运行直到毕业日期,你可以使用“Ctrl + C”来终止程序。
阅读全文