【发布时间】:2019-04-28 16:02:46
【问题描述】:
我正在尝试为待办事项列表制作一个简单的 CLI 应用程序。这里发生了什么事?是因为我指的是函数内部的变量吗?
我尝试将“全局”放在 uinput 后面,但这表示“=”不是有效的语法或类似的东西。不太清楚为什么,我也尝试在谷歌上四处寻找,但找不到任何东西,如果很明显,对不起。
userlist = []
def maininput():
uinput = input("What would you like to add to your list?")
userlist.append(uinput)
for i in userlist:
print(userlist)
break
while uinput != "exit":
maininput()
我希望发生的事情是可以识别“uinput”来执行 while 语句
【问题讨论】:
-
如果你想这样使用它,你需要使 uinput 成为一个全局变量。!
-
与许多其他语言不同,
global uinput需要单独一行。 -
...*然而*,让函数修改全局变量通常被认为是糟糕的设计。考虑做其他事情——比如让
maininput()自己检查exit,或者在它退出时让return uinput让调用者可以检查返回值而不依赖于全局范围(while mainput() != "exit": pass)。