我试图将输入设置为仅为一个数字,或者返回一条错误消息,并再次要求您输入该数字。 我想使用输入而不是原始输入,如果它返回一个错误,比如输入“h”,我想让它说错误,然后再问这个问题。 但如果它是+ve数或-ve数,则继续。我只在原始输入上使用验证进行了管理,使用Nameerror异常无法实现任何目标。但它不适用于-ve数字
def numbercheck():
Answercheck = False
inputanswer = raw_input("What is your number?")
while inputanswer.isdigit() == True and any(c.isalpha() for c in inputanswer) == False:
print "success"
return
else:
if inputanswer.isdigit() == True and any(c.isalpha() for c in inputanswer) == False:
print "success"
return
else:
print "INVALID NUMBER- Please try again: "
numbercheck()
您可以尝试以下方法:
与其检查输入中的每个字符是否为数字而不是字母字符(特殊字符如何?),不如
try
将数字解析为int
,如果失败,请重试而且,}会导致非常糟糕的事情。在Python3中,
raw_input
是正确的选择^{input
的作用与Python2中的raw_input
相同相关问题 更多 >
编程相关推荐