我正在尝试找出如何忽略 Python 循环中的输入。
下面的代码是一个简单的Python代码,它接受数字输入作为循环数,并在循环中打印一个字符。
import time
while (1): # main loop
x = 0
inputValue = input("Input a number: ")
while(x < int(inputValue)):
print(x)
x = x + 1
time.sleep(1)
但是,当您从键盘输入内容并在循环正在进行时按 Enter 键时,该值将成为下一个循环主循环的输入。
我的问题是如何避免这种情况或忽略循环中间的输入。
我尝试使用flush或使用键盘中断,但仍然是同样的问题。
这可能是一个解决方案:
import time
import sys
def flush_input():
try:
import msvcrt
while msvcrt.kbhit():
msvcrt.getch()
except ImportError:
import sys, termios #for linux/unix
termios.tcflush(sys.stdin, termios.TCIOFLUSH)
while (1): # main loop
x = 0
flush_input()
inputValue = input("Input a number: ")
while(x < int(inputValue)):
print(x)
x = x + 1
time.sleep(1)
归属:罗塞塔代码