day10作业

1、运用文件处理知识做用户验证

tag = True
while tag:
    user = input('请输入您的用户名:')
    pwd = input('请输入您的密码:')
    with open('users.txt', mode='rt', encoding='utf-8')as a:
        for i in a:
            name, password = i.strip().split(':')
            if user == name and pwd == password:
                print('登入成功',
                      '''

    输入指令:
    'q':退出
                      ''')
                while tag:
                    res = input('请输入指令:').strip()
                    if res == 'q':
                        print('已退出')
                        tag = False
                    else:
                        print('请输入正确的指令')
                break
        else:
            print('账号或密码错误,请重新输入')

2、需求升级,同一用户输出三次锁定他

# 要求升级,同一用户输出三次锁定他
# 文档内容:
# sailan:200024:0
# egon:123:0
# tank:123:0
         # ^ 用于记录登入次数

tag = True
user_info = {}
while tag:
    user = input('请输入您的用户名:')
    pwd = input('请输入您的密码:')
    with open('users.txt', mode='rt', encoding='utf-8')as a:
        for i in a:
            name, password, count = i.strip().split(':')
            user_info.setdefault(name, [password, int(count)])
        for r in user_info:
            if user_info[r][1] > 3:  # 判断计数,若大于3则不给他登入
                print('账号已被锁定')
                break
            elif user == r and pwd == user_info[r][0]:
                print('登入成功',
                      '''
    输入指令:
    'q':退出
                      ''')
                while tag:
                    res = input('请输入指令:').strip()
                    if res == 'q':
                        print('已退出')
                        tag = False
                    else:
                        print('请输入正确的指令')
                break
        else:
            print('账号或密码错误,请重新输入')
            if user in user_info:  # 判断用户输入的用户名是否在库里
            	user_info[user][1] += 1  # 错误则当前账号计数加一
        
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值