我需要帮助编写一个代码,只有当用户在请求输入的5秒内输入时才接受输入,否则打印出一条消息说“太晚了”并结束程序。你知道吗
显然,我用来解决这个问题的算法是不对的。除非用户输入给定的代码,否则时间不会增加。你知道吗
# code for accepting input only if entered within 5 seconds
print("Enter value: ")
sec = 0
for sec in range(0, 6):
while sec==5:
print("too late")
time.sleep(1)
sec += 1
a=input()
作为一个简单的方法,你可以这样做:
当输入停止执行时,在输入答案时计算经过的时间,并与限制进行比较(这里默认为5秒)。
如果在时间限制内,则返回答案以供进一步处理,否则
too late
打印并None
静默返回。你知道吗问题是
input
阻塞直到有要读取的输入。您要寻找的是所谓的非阻塞IO,如果没有任何内容可立即读取,它将不返回任何内容。下面讨论如何在python中解决这个问题:https://repolinux.wordpress.com/2012/10/09/non-blocking-read-from-stdin-in-python/相关问题 更多 >
编程相关推荐