我想将值输入到my_list中。但是,值只能是整数。另外,如果输入了除“ q”以外的任何其他键,则输入应显示一条消息。但是,如果输入q,程序应停止输入并打印列表。
在此程序中,对q的验证无效。除整型外的任何其他值都会引发相同的消息“仅输入整型值”。即使输入为“ q”,也会发生这种情况。为什么会这样?对此有什么解决方案?
my_list = []
print("Enter q once done")
while True:
try:
my_list.append(int(input()))
except:
if input == 'q':
break
else:
print("Give integer values only")
continue
print(my_list)
您对代码的最少修改将给出:
my_list = []
print("Enter q once done")
while True:
try:
s = input()
if s == 'q':
break
my_list.append(int(s))
except:
print("Give integer values only")
print(my_list)
此代码有一个问题,它无法识别输入/键盘中断的结束。当仍然有一些输入时,从stdin读取行可能会更好:
import sys
my_list = []
print("Enter q once done")
for line in sys.stdin:
if line == 'q\n':
break
try:
my_list.append(int(line))
except ValueError:
print("Give integer values only")
print(my_list)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句