如何确定用户的输入是否为数字?
input = raw_input()
if input = "NUMBER":
do this
else:
do this
在这种情况下,“NUMBER”是什么?
答案 0 :(得分:8)
取决于“数字”的含义。如果任何浮点数正常,您可以使用
s = raw_input()
try:
x = float(s)
except ValueError:
# no number
else:
# number
答案 1 :(得分:2)
如果您正在测试整数,可以使用isdigit函数:
x = "0042"
x.isdigit()
真
答案 2 :(得分:0)
string = raw_input('请输入数字:')
一旦你意识到字符只是ASCII码数,检查一个字符是否很容易。字符“0”是ASCII码48,字符“9”是ASCII码57.“1” - “8”介于两者之间。因此,您可以通过编写以下内容来检查特定字符是否为数字:
validNumber =假
虽然不是validNumber:
string = raw_input('请输入数字:')
I = 0
validNumber =真
而我
如果没有(string [i]> ='0'和string [i]< ='9'):
validNumber =假
print'您输入的号码无效。请再试一次'
断裂
I = I + 1
答案 3 :(得分:0)
我在StackOverflow的其他地方找到的答案[我忘了哪里]给出了以下代码,用于检查某些内容是否为数字:
#This checks to see if input is a number
def is_number(s):
try:
float(s)
return True
except ValueError:
return False