educoder-python-用户登录

import os

# 判断是否首次使用系统
def is_first_start():
    if os.path.exists('flag.txt') == False:
        flag = open('flag.txt', 'w+')
        flag.write('1')
        flag.close()  # 关闭文件
        init()  # 初始化资源
        print_login_menu()  # 打印登录菜单
        user_select()  # 选择用户
    else:
        flag = open('flag.txt', 'r')
        word = flag.read()
        if len(word) == 1:
            init()  # 初始化资源
            print_login_menu()  # 打印登录菜单
            user_select()  # 选择用户


# 初始化管理员
def init():
    if os.path.exists('users') == False:
        # ********** Begin **********
        with open('u_root.txt', 'w') as f1:
            f1.write('root 123456')


        # 创建并打开管理员账户文件
        # 写入管理员信息
        # 关闭管理员账户文件
        # 创建普通用户文件夹
        os.makedirs('users')
        # ********** End **********


# 打印登录菜单
def print_login_menu():
    print('----用户登录----')
    print('1-管理员登陆')
    print('2-普通用户登陆')
    print('--------------')


# 用户选择
def user_select():
    while True:
        user_type_select = input('请选择用户类型:\n')
        if user_type_select == '1':  # 管理员登陆验证
            root_login()
            break
        elif user_type_select == '2':  # 普通用户
            while True:
                select = input('是否需要注册?(y/n):\n')

                # ********** Begin **********
                if select == 'y':
                    user_register()
                    user_login()
                    break
                # 用户注册
                # 用户登录
                else:
                    user_login()
                    break
        break  # ********** End **********
    else:
        print('输入有误,请重新选择')


# 管理员登陆
def root_login():
    while True:
        print('****管理员登陆****')
        root_number = input('请输入账户名:\n')
        root_password = input('请输入密码:\n')
        init()
        file_root = open('u_root.txt', 'r')
        root = file_root.read()
        a = root.split()
        # ********** Begin **********
        if root_number == a[0] and root_password == a[1]:
            print('登陆成功!')
            break
        else:
            print('登陆失败!')
            break
        file_root.close()
        # 只读打开文件
        # 读取账户信息
        # 信息匹配

        # ********** End **********


# 用户注册
def user_register():
    print('----用户注册----')
    user_id = input('请输入账户名:\n')
    user_pwd = input('请输入密码:\n')
    user_name = input('请输入昵称:\n')

    # ********** Begin **********
    with open('user.txt', 'w') as f2:
        f2.write(user_id+' '+user_pwd+' '+user_name )
        # f2.write(user_pwd )
        # f2.write(user_name + '\n')
    # 创建用户文件
    # 写入
    # 保存关闭

    # ********** End **********


# 普通用户登录
def user_login():
    while True:
        print('****普通用户登录****')
        user_id = input('请输入账户名:\n')
        user_pwd = input('请输入密码:\n')

        # ********** Begin **********
        with open('user.txt', 'r') as f3:
            vaules = f3.read().split()
            # for i in range(len(vaules)):
            if user_id == vaules[0] and user_pwd == vaules[1]:
                print('登录中····')
                print('登录成功!')
                break
            else:
                break
is_first_start()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值