如果结果证明是重复,我道歉,但我找不到任何相关内容......
(Python 2.7.6)
在本质上,我正在使用以下代码的变体:
def isnum(a):
try:
float(a)
return True
except ValueError:
return False
确定用户输入是否确实是一个数字。
isnum(3)
True
isnum("3")
True
如果我使用以下代码:
def input():
while True:
a = raw_input("Please enter a number:")
if isnum(a):
print float(a)
break
else:
print "Please enter only numbers!",a,'is invalid'
input()
我还要注意,我也试过isnum(a) == True
......
当我在提示时输入“3”时,我收到“仅输入数字”错误!。
Please enter a number:"3"
Please enter only numbers! "3" is invalid
提前致谢。
答案 0 :(得分:2)
"3"
是一个包含3的字符串。但是当你将它发送到raw_input时,它变为'"3"'
,它被引号括起来,而不是数字。
答案 1 :(得分:0)
您提供"3"
作为输入,而不是3
。