我正在尝试编写一个“多用户”程序,该程序存储了在程序运行期间登录的每个用户的项目的商店列表。为此,我创建了一个名为login_to_user的函数,该函数基本上检查用户是否已经登录,如果没有,则在嵌套字典var user_database中创建一个新位置以存储其商店列表。python中的关键错误
def login_to_user(user_database):
username = raw_input("Enter Your username: ")
for username in user_database.keys():
if(username in user_database):
shop_list = user_database[username]["shop_list"]
else:
user_database[username]["shop_list"] = 0 #gives place to new user in dictionary
shop_list = user_database[username]["shop_list"]
shop_list = get_list_from_user()
shop_list = organize_list(shop_list)
但之后我尝试运行一个程序,并输入一个测试用户,我总是会得到以下错误:
Traceback (most recent call last):
File "Shopping-MichaelEX4.py", line 170, in <module>
main()
File "Shopping-MichaelEX4.py", line 164, in main
login_to_user(user_database)
File "Shopping-MichaelEX4.py", line 156, in login_to_user
user_database[username]["shop_list"] = 0 #gives place to new user in
dictionary
KeyError: 'test'
我读到了关键错误,并没有找到一个解决我的问题。我尝试以不同的方式初始化嵌套字典。迄今为止,没有任何工作。
我真的很感谢任何解决我的问题。谢谢!
什么是'user_database'?并请修复您的格式。 – pingul
user_database是一个嵌套词典,它按用户名存储所有保存的商店列表。 – MichaelFel123