我正在尝试为刚刚找到工作的兄弟制作一个基本的工资计时器...我想要的是一个while循环运行代码,等待有人按Enter(或其他一些键)结束循环并给出目前的工资。我希望使用KeyboardInterrupt,但如果有更简单的方法,我很乐意听到它。我怎么能这样做?
答案 0 :(得分:0)
只有当某人按ctrl-C或类似命令时才会生成键盘中断。
听起来你的计划是让代码类似:
from time import sleep
wage = 0
try:
while True:
wage = wage + hourly_rate
sleep(60 * 60) # an hour in seconds
except KeyboardInterrupt:
print('you earned', wage)
然后有人打ctrl-C?哪个适用于try / except。但是如果你想要某人只是按回车键而不是添加东西,那就做一些数学运算:
from time import time
start = time() # time in seconds from some arbitrary date in 1970 (it's a standard)
input('hit return to get your wage!')
end = time()
elapsed = end - start # time that has passed in seconds between start and end
wage = hourly_rate * elapsed / (60 * 60) # convert from hourly
print('you earned', wage)
第一个版本有点乐观,因为它在开始时每小时增加一次。第二个更准确。
ps恭喜你的兄弟!