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
答案 0 :(得分:1)
首先,您提供的代码“适用于”Python 2.7和3。
行号或堆栈跟踪会有所帮助,但假设它在您提供的代码段中:
nota = int(input("Que nota recebeu: "))
这里nota
是一个int。
if len(str(nome).strip()) == 0:
您尝试将其转换为字符串的下一行,而不指定如何。
类似的东西:
if len(("%d" % nota).strip()) == 0:
应该可以防止错误。
话虽如此,这条线仍然没有意义。您不应该strip()
表示整数的字符串表示。
您希望通过strip()
和if len(...) == 0
部分完成什么?
编辑:最后,我认为你想要raw_input()
而不是input()
,除非你在某处也是阴影。