我正在尝试为简单的游戏编程。我希望倒计时打印成10,9,8等......以便了解收集物品需要多少时间。当计时器用完时我希望程序关闭。 这是错误:
int() argument must be a string, a bytes-like object or a number, not 'datetime.timedelta'
可以更正或更好地向我发送工作计时器概念吗? 感谢
import time
import datetime
now = datetime.datetime.now()
later = datetime.datetime.now()
diff = int(later - now)
#countdown in sec
tcount = 10
countd = tcount - diff
countd = str(countd)
while diff < tcount:
print("countdown:" + countd)
答案 0 :(得分:1)
获得时间的好方法是使用time.time()
import time
now = time.time()
# do some stuff
elapsed time = int(time.time() - now)
在测量秒数时,可能使用time.time()来计算池时间,然后有一个循环来检查当前时间减去合并时间是否大于1.这将是一秒钟。根据需要重复几秒钟。
编辑: 或者,就像建议的评论一样使用time.sleep()。 time.sleep(1)将睡眠1秒钟。
答案 1 :(得分:1)
正如错误消息所示,later - now
是datetime.timedelta
。如果将其分配给变量,例如diff_delta
,则diff_delta.total_seconds()
会在几秒钟内为您提供值。