-2
所以我创建一个终端程序,允许你创建帐户和他们的登录/注销。一旦您成功登录,它将返回一个用户会话函数并在请求用户输入命令时循环。我想创建一个命令字典并将所有命令映射到一个函数,该函数可以执行我想要该命令执行的操作。我的问题是,一些函数依赖于计算当前用户会话,但用户名变量作用域仅在用户会话函数中,所以一旦函数从字典中运行,我需要能够获取currentuser变量并使用它作为命令字典中的函数的参数。我只发布了与此问题有关的代码部分。如果您需要查看整个代码,或者有任何问题,请告诉我。谢谢你的帮助。变量范围问题的字典
commands = {
"view mail": view_mail(),
"send mail": send_mail(),
"logout": True
}
def session(currentuser):
print("Commands: view mail | send mail | logout")
while True:
option = input("> ")
if option in commands:
end_session = commands[option]
if end_session:
break
else:
print(option + " is not an option")
加上一个使用拉姆达。我目前从未想到这一点。 –
现在如果其中一个命令没有任何参数会怎么样。或者其中一个命令需要多个参数。这会是一个问题。 –
@banana:见编辑 – cdarke