在python上检查.isdigit()

时间:2018-04-09 23:04:48

标签: python python-3.x

我一直收到错误AttributeError, 'int' object has no Attribute 'isdigit'。你能解释一下这意味着什么,我该做什么或改变什么?

def digi():

    number = input("Choose a number: ")

    if number.isdigit() == True:
        number = int(number)
        if number > 100:
            print("number is greater than 100 =",number > 100)

        elif number < 100:
            print("number is greater than 100 =",number > 100)


    else:
        print("input must be 'int'")


digi()

3 个答案:

答案 0 :(得分:4)

整理没有定义isdigit()isdigit()是字符串内部的一种方法,用于检查字符串是否为有效整数。

在python3中,input()函数总是返回一个字符串,但是如果你得到那个错误,那就意味着这个数字在某种程度上是一个int。你正在使用python 2。

要解决您的困境,请将input()替换为raw_input()

或者只是获取python3

答案 1 :(得分:0)

这可能是您正在寻找的内容,isdigit()不是必需的。

def digi():
    number = input("Choose a number: ")

    try:
        number = int(number)
        if number > 100:
            print("number is greater than 100")

        else:
            print("number is less than or equal to 100")

    except ValueError:
        print("input must be 'int'")

digi()

答案 2 :(得分:0)

根据您的要求,我建议进行以下修改。 def digi():

number = str(input("Choose a number: "))

if number.isdigit() == True:
    number = int(number)
    if number > 100:
        print("number is greater than 100 =",number > 100)

    elif number < 100:
        print("number is greater than 100 =",number > 100)


else:
    print("input must be 'int'")

输入将评估您输入的内容,并返回评估结果。

关注此link