用户登录和三级菜单 练习
模拟登陆:
1. 用户输入帐号密码进行登陆
2. 用户信息保存在文件内
3. 用户密码输入错误三次后锁定用户
count = 0 # 计数器 name = input('请输入用户名:') # 打开文件,并把值付给lock_list lock_file = open('lock.txt', 'r+') lock_list = lock_file.readlines() # lock_file.close() # 检查用户是否存在 for lock_line in lock_list: lock_line = lock_line.strip('\n') if name in lock_line: print('你的用户已经锁定,请联系管理员.... ') exit() # 打开文件 并把文件的内容赋值给user_list user_file = open('user.txt', 'r') user_list = user_file.readlines() user_file.close() # 检查用户是否存在 for user_line in user_list: (username, password) = user_line.strip('\n').split(' ') # 如果存在 输入密码 如果不存在 则提示, 用户不存在 if name == username: while count < 3: # 如果密码输错三次 ,就锁定 userpasswd = input('请输入密码: ') if userpasswd == password: print('欢迎 %s 登陆' %name) else: print('密码错误,请重新登陆 ') count += 1 continue else: print('你的用户 %s 已经锁定,请联系管理员 ') lock_file.write(name + '\n') else: print('你输入的用户名 %s 不存在 ,请注册 ') exit()
三级菜单:
1. 运行程序输出第一级菜单
2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单
3. 菜单数据保存在文件中
4. 让用户选择是否要退出
5. 有返回上一级菜单的功能
nume = { '华北': { "北京": { '昌平': ['快餐馆', '饭店','大饭店'], '朝阳': ['快餐馆', '饭店','大饭店'], '海淀': ['快餐馆', '饭店','大饭店'] }, '河北': { '石家庄': ['快餐馆', '饭店','大饭店'], '邯郸': ['快餐馆', '饭店','大饭店'], '张家口': ['快餐馆', '饭店','大饭店'] } }, '华中': { "湖北": { '武汉': ['快餐馆', '饭店','大饭店'], '十堰': ['快餐馆', '饭店','大饭店'], '汉口': ['快餐馆', '饭店','大饭店'] }, "河南": { '郑州': ['快餐馆', '饭店','大饭店'], '洛阳': ['快餐馆', '饭店','大饭店'], } } } exit_flag = False while exit_flag is not True: for key in nume: print(key) user_choice = input('请输入:') if user_choice in nume.keys(): while exit_flag is not True: for key2 in nume[user_choice]: print(key2) user_choice2 = input('请输入: ') if user_choice2 in nume[user_choice].keys(): while exit_flag is not True: for key3 in nume[user_choice][user_choice2]: print(key3) user_choice3 = input('请输入: ') if user_choice3 in nume[user_choice][user_choice2].keys(): print(user_choice,nume[user_choice][user_choice2][user_choice3]) else: if user_choice3 == "q": print('退出所有: ') exit_flag = True elif user_choice3 == 'b': break else: if user_choice3 == "q": print('退出所有: ') exit_flag = True elif user_choice3 == 'b': break else: if user_choice3 == "q": print('退出所有: ') exit_flag = True elif user_choice3 == 'b': break