我正在尝试为刚找到工作的兄弟制作一个基本工资计时器......我想要的是一个 while 循环运行代码等待某人按 Enter(或其他键)结束循环并给出目前的工资。我希望 KeyboardInterrupt 但如果有更简单的方法可以做到这一点,我很想听听。我怎么能这样做?
问问题
127 次
1 回答
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恭喜你的兄弟!
于 2013-05-28T20:23:19.097 回答