def readVal(valType, requestMsg, errorMsg):
while True:
val = input(requestMsg)
try:
val = valType(Val)
return Val
except:
print(errorMsg)
print (readVal(int, 'Enter int:', 'Not as int.'))
当我输入4,5,2时,我得到了如下结果
Enter int:4 Not as int. Enter int:5 Not as int. Enter int:2 Not as int.
我不能得到正确的答案,即4,5,2。我的程序出了什么问题
正如语法突出显示所示,
Val
与val
不同。这是一个导致NameError
的打字错误。更大的问题是,您的程序对您隐藏了NameError,因为您告诉它将任何异常(无论是什么原因导致的)转换为单个消息您可能打算捕获
ValueError
,而int
将抛出意外输入相关问题 更多 >
编程相关推荐