Python 仅当输入值在5秒内输入时,接受输入值的代码是什么?
我需要帮助来编写一个代码,只有当用户在请求输入的5秒内输入时才接受输入,否则会打印一条消息说“太晚”并结束程序 显然,我用来解决这个问题的算法是不对的。除非用户输入给定的代码,否则时间不会增加Python 仅当输入值在5秒内输入时,接受输入值的代码是什么?,python,time,Python,Time,我需要帮助来编写一个代码,只有当用户在请求输入的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("t
# 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
将以静默方式返回
import time
def timed_acceptance(limit=5):
start = time.time()
a = input('you have 5 seconds:')
end = time.time()
if end - start < limit:
return a
else:
print('too late')
timed_acceptance()
导入时间
def定时_验收(限值=5):
开始=时间。时间()
a=输入('您有5秒:')
end=time.time()
如果结束-开始<限制:
归还
其他:
打印(‘太晚了’)
定时接收
问题在于输入
阻塞,直到有输入要读取。您所寻找的是所谓的非阻塞IO,如果没有任何内容可立即读取,则不会返回任何内容。这里讨论了如何在python中解决这个问题:可能的重复/只是因为我没有看到它,您需要将打印(“输入值”)
更改为某种输入(有一些,这取决于您使用的python版本)。例如,在Python3中,通常执行value=input(“输入值”)
。请小心,因为这会将您输入的内容转换为字符串。Downvoter,请解释一下?OP提供了一个最小的可重复性示例和对问题的合理描述。是的,提供的代码是完全错误的,但这并不是投反对票的理由。此代码等待用户提供输入,然后在end start>5时打印“太迟”。我想要的是程序在5秒后显示一条消息“to late”,并结束,从而防止用户进一步输入任何输入。是的,输入答案会触发对所用时间的计算,并决定答案的有效性。