1
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 (nota) == 0:
        menuAdiciona()

    if nota < 0:
        nota = 0

出现这个:

无法将“int”对象隐式转换为 str

4

1 回答 1

1

首先,您提供的代码在 Python 2.7 和 3 中“有效”。

行号或堆栈跟踪会有所帮助,但假设它在您提供的代码段中:

nota = int(input("Que nota recebeu: "))

nota是一个整数。

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

下一行您尝试将其转换为字符串而不指定如何。

就像是:

if len(("%d" % nota).strip()) == 0:

应该防止错误。

话虽如此,这条线仍然没有什么意义。您不必strip()使用整数的字符串表示形式。

你想用什么strip()if len(...) == 0零件来完成?

编辑:最后,我认为你想要raw_input()而不是input(),除非你也在某个地方隐藏它。

于 2013-06-19T18:37:00.773 回答