如何阻止命令在控制台中堆叠?

时间:2017-06-15 19:00:49

标签: python windows-console

所以基本上我正在尝试用Python进行反应测试。实施并不重要,但我将在下面留下:

def reaction():
    print("3",end="\r")
    time.sleep(1)
    print("2",end="\r")
    time.sleep(1)
    print("1",end="\r")
    time.sleep(1)
    print("---------------------")
    time.sleep(random.randint(1,4))
    reaction_start=int(round(time.time() * 1000))
    input("PRESS!")
    reaction_end=int(round(time.time() * 1000))
    return (reaction_end - reaction_start)

所以基本上,它在显示“PRESS!”之前给出倒计时,然后它记录用户按Enter键所需的时间。我计划多次重复此测试,以便可以平均用户的表现。

但是,你可以通过在“按下”之前按“Enter”来欺骗这个。标志出现了。 “enter”命令似乎堆叠并在下次程序要求用户输入时执行。实际上,这似乎不仅适用于此函数,而且适用于Python中与输入相关的所有内容。

也就是说,如果在运行Python时进行任何输入,那么当Windows控制台接下来要求输入时,这些输入会插入下一个可能的点。所以,如果我运行Python脚本,然后在python脚本运行时,我按“向上”和“输入”,程序将立即按下并在脚本运行完毕后输入并重新运行最后一个命令(即重复功能)。如何以这种方式阻止命令堆叠?

0 个答案:

没有答案