1

这是我的程序,这个错误是什么意思?

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

4 回答 4

1

如果您有一个不知道传入值是字符串还是其他内容的情况,您可以使用 try...except 来处理这个问题:

try:
    r = myVariableOfUnknownType.strip())
except AttributeError:
    # data is not a string, cannot strip
    r = myVariableOfUnknownType
于 2017-09-26T20:18:41.083 回答
0

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

于 2013-06-19T12:56:30.927 回答
0

integer 没有 strip 属性...所以你可以让它像这样...

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

if len(str(nota).strip()) == 0:
    menuAdiciona()
于 2013-06-19T12:57:06.633 回答
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
于 2013-06-19T12:57:38.317 回答