我在这里研究了这个问题我发现了类似的问题,但这是不同的。我需要在我正在处理的代码片段中验证用户输入,如果用户输入不是0(这样我工作正常)就需要输出错误,如果输入是非数字,则输出错误,这里是我的问题是。如果我使用输入,而不是的raw_input我得到一个错误:输入和用户输入验证
NameError name 'Whatever I type in' is not defined
我试过到目前为止:
铸造变量为一个整数,并使用isNaN函数试图但惨遭失败,最后绕去使用ifs和elses的问题。这是迄今为止工作的代码。
def pints_to_litres():
pints = 0
pints = input("Please enter the amount of Imperial Pints you would like converted into Litres >>>")
litres = pints * float(0.568261)
litres = "%.2f" % litres
print (""+str(pints)+ " Pint(s) is equal to " +str(litres)+ " Litre(s)")
if (pints < 0):
print("Invalid Input! Try Again")
pints_to_litres()
谢谢你们提前 彼得Romaniuk
不知道为什么编辑,这是Python代码。 – user3578634
你为什么不用'raw_input'? – honi
我仍然遇到raw_input出错“TypeError:无法乘以类型'float'的非int的序列” – user3578634