用户登录和三级菜单 练习

 

模拟登陆:
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

  

posted @ 2016-12-20 04:53  onlylc  阅读(162)  评论(0编辑  收藏  举报