【发布时间】:2023-04-10 22:46:01
【问题描述】:
我写了一个函数,它接受一个字符(不点击enter),检查验证,并返回按下的键。但问题是,如果值不匹配,我正在打印的提示将打印两次。这是我的代码。
def accept_input():
while True:
print "Type Y to continue, ctrl-c to exit"
ch = sys.stdin.read(1)
if ch != "Y":
pass
else:
return ch
当调用accept_input()时,如果有不匹配的字符则打印两次提示,如果输入为空白则打印一次。
python accept_input.py
Type Y to continue, ctrl-c to exit
a
Type Y to continue, ctrl-c to exit
Type Y to continue, ctrl-c to exit
b
Type Y to continue, ctrl-c to exit
Type Y to continue, ctrl-c to exit
c
Type Y to continue, ctrl-c to exit
Type Y to continue, ctrl-c to exit
Type Y to continue, ctrl-c to exit
Type Y to continue, ctrl-c to exit
Y
accepted
为什么输入任何不匹配的键时打印两次,输入空白键时为什么只打印一次?
谢谢。
【问题讨论】:
标签: python user-input stdin sys