day14 文件操作作业写一个登录系统

写一个登录系统:

思路:五个函数

目录打印函数:catalogue()、登录函数:login()、注册函数:registration()、

​ 退出函数:leave()、主函数:user_view()

目录打印函数:catalogue()

def catalogue():
    print('***************************************')
    print()
    print('        ❀❀❀欢迎来到xxx系统❀❀❀        ')
    print('        ❀      1.登  录      ❀        ')
    print('        ❀      2.注  册      ❀        ')
    print('        ❀      3.退  出      ❀        ')
    print()
    print('***************************************')
    return 

登录函数:login()

def login():
    user_name=input('请输入用户名:')
    password = input('请输入密码:')
    f=open(r'file1\UserImformation.txt','r',encoding='utf-8')
    result=eval(f.read())
    # print(type(result))
    for i in result:
        if user_name ==i['name']:
            if password==i['pwd']:
                print(f'{user_name}登录成功!')
                break
            else:
                print('密码输入错误!')
                break
    else:
        print('用户名不存在')
    return

注册函数:registration()

def registration():
    user_name = input('请设置用户名:')
    password1 = input('请设置密码:')
    password2 = input('请确定密码:')
    f = open(r'file1\UserImformation.txt', 'r', encoding='utf-8')
    result = eval(f.read())
    f.close()
    if password1==password2:
        if user_name!='':
            for i in result:
                if i['name']==user_name:
                    print('该用户名已存在!')
                    return
            else:
                result.append({'name':user_name,'pwd':password1})
    else:
        print('密码不一致')
        return

    f=open(r'file1\UserImformation.txt','w',encoding='utf-8')
    f.write(str(result))
    f.close()
    print('注册成功!')
    return

退出函数:leave()

def leave():
    print('已退出!')
    return

主函数:user_view()

def user_view():
    while True:
        catalogue()
        num = int(input('请输入数字选择操作:1—3:'))
        if num == 1:
            login()
        elif num == 2:
            registration()
        elif num == 3:
            leave()
            break
        else:
            print('输入有误,请重新输入')

完整代码

def login():
    user_name=input('请输入用户名:')
    password = input('请输入密码:')
    f=open(r'file1\UserImformation.txt','r',encoding='utf-8')
    result=eval(f.read())
    # print(type(result))
    for i in result:
        if user_name ==i['name']:
            if password==i['pwd']:
                print(f'{user_name}登录成功!')
                break
            else:
                print('密码输入错误!')
                break
    else:
        print('用户名不存在')
    return


def registration():
    user_name = input('请设置用户名:')
    password1 = input('请设置密码:')
    password2 = input('请确定密码:')
    f = open(r'file1\UserImformation.txt', 'r', encoding='utf-8')
    result = eval(f.read())
    f.close()
    if password1==password2:
        if user_name!='':
            for i in result:
                if i['name']==user_name:
                    print('该用户名已存在!')
                    return
            else:
                result.append({'name':user_name,'pwd':password1})
    else:
        print('密码不一致')
        return

    f=open(r'file1\UserImformation.txt','w',encoding='utf-8')
    f.write(str(result))
    f.close()
    print('注册成功!')
    return


def leave():
    print('已退出!')
    return

def catalogue():
    print('***************************************')
    print()
    print('        ❀❀❀欢迎来到xxx系统❀❀❀        ')
    print('        ❀      1.登  录      ❀        ')
    print('        ❀      2.注  册      ❀        ')
    print('        ❀      3.退  出      ❀        ')
    print()
    print('***************************************')
    return

# catalogue()
def user_view():
    while True:
        catalogue()
        num = int(input('请输入数字选择操作:1—3:'))
        if num == 1:
            login()
        elif num == 2:
            registration()
        elif num == 3:
            leave()
            break
        else:
            print('输入有误,请重新输入')

user_view()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值