python (个人学习笔记1.0系列番外)-- (简陋练手版)一个简单的将账号和密码录入文本文件的用户登录程序的实现

一、程序简述

1.实现将账户信息存入磁盘,使下次打开程序,可以登录之前录入的账户。
2.未找到账号将报错并重输。
3.如果密码输入错误三次,程序退出(简单模仿常用软件的登录保护机制)

二、程序实现(刚学python时的练手程序,当做参考即可)

save_user_name = 'user_name.txt'
save_user_pw = 'user_pw.txt'

while True:
    UI_show='''
    ------------用户管理------------
    1.录入用户信息
    2.登录入口
    3.输入其他退出程序
    '''
    print(UI_show)
    user_select = int(input("请选择需要的选项:"))

    flag = True
    if user_select == 1:
        print("用户(账号为0输入结束)")
        while flag:
            user_name_save1 = input("账号:")
            username = user_name_save1
            if username == '0':
                flag = False
                break
            with open(save_user_name, 'a') as f:
                f.write(user_name_save1)
                f.write("\n")
            with open(save_user_pw, 'a') as m:
                m.write(input("密码:"))
                m.write("\n")
# with 语块结束后,解释器将会自动关闭文件,所以此时不必手动关闭,即f.close()
    elif user_select == 2:

        with open('user_name.txt') as f:
            user_name_list = f.read().splitlines()
        with open('user_pw.txt') as w:
            user_pw_list = w.read().splitlines()

        user_dict = dict(map(lambda x, y: [x, y], user_name_list, user_pw_list))
        print(user_dict)

        j = 0
        print("\t\t登录入口")
        while flag:
            while flag:
                user_name_put = input("请输入账号(输入0返回上一层):")
                if user_name_put == '0':
                    flag = False
                    break
                user_name_get = user_dict.get(user_name_put, 0)
                if user_name_get == 0:
                    print("无此账号,请重新输入....")
                    continue
                else:
                    while flag:
                        while flag:
                            user_pw_put = input("请输入密码:")
                            if user_pw_put == user_name_get:
                                exit("\n***密码正确,登录成功!***")
                            else:
                                j += 1
                                if j < 3:
                                    print("密码错误,请重新输入.....")
                                    continue
                                else:
                                    print("密码输入错误三次,程序退出!!\n\n")
                                    flag = False
                                    
    else:
        exit("\n欢迎下次使用!")
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值