【发布时间】:2017-06-07 14:17:19
【问题描述】:
我正在尝试制作一个像小脚本一样的倒计时计时器。我希望它看起来像这样:
0 years left until your event.
0 months left until your event.
10 days left until your event.
234 hours left until your event.
14020 minutes left until your event.
841166 seconds left until your event.
如您所见,这不是“正常”倒计时。我希望它是这样的,总秒数,总分钟数等等。现在我在试图让它真正倒计时时遇到了麻烦。只是几秒钟工作正常,我正在使用这段代码:
def secondsLeft(eventDate):
while secondsUntil:
toPrint = "%s seconds left until your event." %(secondsUntil)
print(toPrint, end='\r')
time.sleep(1)
secondsUntil -= 1
但是,当尝试对分钟执行相同操作时,用 time.sleep(60) 替换它不再打印出秒数!
我认为这与 while 循环有关。但是,我不知道该怎么办...感谢您在正确方向上的任何帮助!
【问题讨论】:
-
这不是很明显吗?计算分钟数、小时数等。从秒数。
-
或者,阅读一些有关 datetime 对象的信息,使用单个 datetime 对象进行计算,然后使用所需的不同粒度进行打印。
-
@Błotosmętek 所以你是说把所有东西都放在一行中并计算,放入 def secondsLeft?目前我已经把所有的数字分开了。
-
@JosepValls 感谢您提醒我。我在我的脚本中使用了 datetime,但是我认为这个问题必须更多地使用 while 循环和其他东西而不是计算部分。我会确保查看日期时间
标签: python python-3.x timer while-loop countdown