确定输入是否为数字

时间:2011-04-11 16:52:37

标签: python

如何确定用户的输入是否为数字?

input = raw_input()

if input = "NUMBER":
    do this
else:
    do this

在这种情况下,“NUMBER”是什么?

4 个答案:

答案 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