'int'对象没有属性'strip'错误消息

时间:2013-06-19 12:54:51

标签: python strip

这是我的程序,这意味着什么错误?

def menuAdiciona():
    nome = input("Digite o nome de quem fez o cafe: ")
    nota = int(input("Que nota recebeu: "))

    if len(nome.strip()) == 0:
        menuAdiciona()

    if len(nota.strip()) == 0:
        menuAdiciona()

    if nota < 0:
        nota = 0

AttributeError: 'int' object has no attribute 'strip'

4 个答案:

答案 0 :(得分:1)

您正试图在strip()值上调用nota,这是一个整数。不要那样做。

答案 1 :(得分:1)

如果您有一个案例,您不知道传入的值是字符串还是其他内容,您可以尝试使用它来处理...除了:

try:
    r = myVariableOfUnknownType.strip())
except AttributeError:
    # data is not a string, cannot strip
    r = myVariableOfUnknownType

答案 2 :(得分:0)

整数没有条带属性...所以你可以这样做......

if len(str(nome).strip()) == 0:
    menuAdiciona()

if len(str(nota).strip()) == 0:
    menuAdiciona()

答案 3 :(得分:0)

strip仅适用于字符串

如果您迫切需要剥离数字,请尝试以下方法:

str(nome).strip()

str(nota).strip()

所以结果是:

def menuAdiciona():
nome = input("Digite o nome de quem fez o cafe: ")
nota = int(input("Que nota recebeu: "))

if len(str(nome).strip()) == 0:
    menuAdiciona()

if len(str(nota).strip()) == 0:
    menuAdiciona()

if nota < 0:
    nota = 0