Python登录接口

编写登录接口:
输入用户名和密码
认证成功显示欢迎
用户名输错三次退出程序
密码输错三次锁定,下次运行依旧锁定(把结果保存到文件)

  1. 输入用户名密码
  2. 用户名密码等信息.txt文件[同一个人信息放一行,每行内不同内容用逗号隔开],读取.txt文件,循环读取每行元素,去除元素间、元素内的空格,保存在字典中
  3. 判别用户是否锁住、
  4. 判别用户名、密码 正确 ; 错误:判别输错次数,更新.txt文件
#!/usr/bin/env python
# -*- coding:utf-8 -*-
_user_dict = { }
_user_list = []
_login_error_count = 0
while True:
#输入
    _user_naming = input("Please input your username:")
    _user_password = input("Please input your password:")
    _user_data = open('user.txt')
    #读取.txt文件信息到字典中
    for user_data in _user_data:       
        _user_list = user_data.strip()      
        _user_data = _user_list.split(',')       
        _user_name = _user_data[0].strip()       
        _user_pass = _user_data[1].strip()      
        _user_locked = _user_data[2].strip()     
        _user_error_count = int(_user_data[3].strip())
        _user_dict[_user_name] = {'name': _user_name, 'password': _user_pass,
                                  'locked': _user_locked, 'errorcount': _user_error_count}
   #判别用户是否存在
    if _user_naming in _user_dict.keys():
    #判别用户是否锁住
        if _user_dict[_user_naming]['locked']=='1':
            print("The account was locked,please contact administrator!")
            break
         #判别用户名、密码是否正确
        if _user_naming==_user_dict[_user_naming]['name'] and _user_password==_user_dict[_user_naming]['password']:
            print("Welcome to System")
            break
        else:
            _user_dict[_user_name]['errorcount']+=1
            #判别输错次数
            if _user_dict[_user_name]['errorcount']<3:
                print("The password was wrong,please try again,you have three chance")
                _write_data=open('user.txt','w+')
                for _user_value in _user_dict.value :
                    _user_list=[_user_value['name'],_user_value['password'],str(_user_value['locked']),str(_user_value['errorcount'])]
                    _user_list=','.join(_user_list+'\n')
                    _write_data.write(_user_list+'\n')
                _write_data.close()
                break
                #输错次数大于3 用户锁住  输错次数归零
            else:
                print("You try three times,Acount locked")
                _user_dict[_user_name]['locked']=1
                _user_dict[_user_naming]['errorcount']=0
                _write_data=open('user.txt','w+')
                for _user_value in _user_dict.value :
                    _user_list=[_user_value['name'],_user_value['password'],str(_user_value['locked']),str(_user_value['errorcount'])]
                    _user_list=','.join(_user_list+'\n')
                    _write_data.write(_user_list+'\n')
                _write_data.close()
                break
    else:
        print("Please ensure input current account or password,you can try three times!")
        _login_error_count+=0
        if _login_error_count>2:
            break
for _user_value in _user_dict.value :
    _user_list=[_user_value['name'],_user_value['password'],str(_user_value['locked']),str(_user_value['errorcount'])] #字典数据拷贝到列表中
    _user_list=','.join(_user_list+'\n')  #将一个用户的信息元素用逗号连接成新字符串,下个用户信息元素换行'\n'
    _write_data.write(_user_list+'\n')#写入到.txt文件中
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值