notes =[]
def newNote(notes):
note = input("Whats up")
notes.append(note)
return notes
input = input("in or out? ")
if (input == "in"):
newNote(notes)
note = input("Whats up")
是有问题的线,我认为它没有任何问题。我只是通过instelf(不在函数中(尝试了该行,它可以工作,但由于某种原因它在函数内不起作用。
谁能向我解释一下?
行input = input("in or out? ")
的问题。
你input
函数重新定义为input("in or out? ")
的结果,所以现在input
是一个字符串。
解决方案是简单地将结果变量更改为另一个变量input("in or out? ")
:
notes =[]
def newNote(notes):
note = input("Whats up")
notes.append(note)
return notes
choice = input("in or out? ")
if (choice == "in"):
newNote(notes)
input = input("in or out? ")
将覆盖内置输入函数。 将变量名称替换为其他名称,它将起作用。
试试这个:
notes =[]
def newNote(notes):
note = input("Whats up")
notes.append(note)
return notes
inp = input("in or out? ")
if (inp == "in"):
newNote(notes)
您已使用关键字"input"来命名变量。切勿使用关键字来定义函数或变量,除非要覆盖语言的内置功能。