NameError 时赋值操作
Assign an operation when NameError
我正在尝试让输入仅是一个数字,否则会返回一条错误消息并再次要求您输入该数字。
我想使用输入而不是 raw_input 如果它 returns 一个错误就像你输入 "h" 我想让它说错误并再次问这个问题。
但如果它是 +ve 数字或 -ve 数字,则继续。我只设法在 raw_input 上使用验证,而无法使用 Nameerror 异常。但它不适用于 -ve numbers
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
,如果失败,请重试。
def numbercheck():
while True:
try:
inputanswer = raw_input("What is your number?")
as_number = int(inputanswer)
print "success"
return as_number
except ValueError:
print "INVALID NUMBER- Please try again: "
此外,raw_input
是正确的方法。 input
in Python 2 会导致非常糟糕的事情。在 Python 3 中,input
与 Python 2 中的 raw_input
相同。
您可以尝试类似的方法:
if inputanswer[0]=="+" or inputanswer[0]=="-":
inputanswer = inputanswer[1:]
我正在尝试让输入仅是一个数字,否则会返回一条错误消息并再次要求您输入该数字。 我想使用输入而不是 raw_input 如果它 returns 一个错误就像你输入 "h" 我想让它说错误并再次问这个问题。 但如果它是 +ve 数字或 -ve 数字,则继续。我只设法在 raw_input 上使用验证,而无法使用 Nameerror 异常。但它不适用于 -ve numbers
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
,如果失败,请重试。
def numbercheck():
while True:
try:
inputanswer = raw_input("What is your number?")
as_number = int(inputanswer)
print "success"
return as_number
except ValueError:
print "INVALID NUMBER- Please try again: "
此外,raw_input
是正确的方法。 input
in Python 2 会导致非常糟糕的事情。在 Python 3 中,input
与 Python 2 中的 raw_input
相同。
您可以尝试类似的方法:
if inputanswer[0]=="+" or inputanswer[0]=="-":
inputanswer = inputanswer[1:]