-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