用户登录和三级菜单 练习
模拟登陆:
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

浙公网安备 33010602011771号