博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 用户三次登录
阅读量:2269 次
发布时间:2019-05-09

本文共 3864 字,大约阅读时间需要 12 分钟。

def lock_user_fi():           #循环遍历用户锁定文件函数     """user locked file"""     with open('locked.txt') as lock_fi:         for line in lock_fi:                    return line        #给一个返回值,等下用到
def user_list():      # 定义循环用户登录文件函数
with open('user_login.txt','r') as user_login:        for line in user_login:            # (user,passwd)=line.strip().split('::')            (a)=line.strip().split('::')   #因为存储用户登录的文件是以  username:password 的方式保存,所以以:: 来将值取出            return a           # return user,passwd            # username.append(line.split('::'))def user_login():  #定义用户登录程序    """user login infomation"""    user_list()      #调用 循环用户登录文件函数    flag=False       #初始化一个值为假    lock_user_fi()    #调用 用户锁定文件函数    #    # print(user,passwd)    a=0               #进入大循环,有三次机会输入用户名    while a<3:        if flag:      #当flag 这个值为真时,退出本层            break        username=input('input username:')            if username in user_list():     #判断用户输入的值是否在 user_list()这个函数里,如果user_list()没有返回值的话,这里会拿不到信息。这一层a要自加,当用户输入的值在user_list()里 则进入输入密码            b = 1            while b < 4:    #与用户输入用户名一样,先来一个循环,只要密码输入不对三次(b在自加),则退出本层                if flag:     #当密码对的位置为‘真’时,这里不再输入密码,退出程序                    break                password = input('input pasword:')                 if password in user_list() and username in user_list():  #前面输入的用户名和密码都在 用户登录信息文件时,则登录成功. 同样,将flag 的值设为真,                    print('login successfully!')                    flag = True                if password not in user_list():     #输入其它的信息,报错                    print("invalid input")                b+=1   #密码输入的次数在自加        if username in lock_user_fi():     #用户名在锁定文件里提示已锁定            print("user alread locked")            flag=True       #标志位,当程碰到flag 为真的时候,就会退出,上面有条件判断flag        if  username not in user_list() and username not in lock_user_fi(): #输入的信息  不在用户登录文件,也不在用户锁定文件,报错。            print("invalid input")        a+=1      #最外层的用户输入次数在自加,当加到3时,退出程序        if username in user_list():            flag=True    else:    #输入对或输入错,这一段都执行  ‘program exit’,        print('program exit')def user_loop():    pass    # a=0    # while a<3:    #     user_input()    #     a+=1#user_loop() user_login()   #调用 3次登录函数 代码
def lock_user_fi():    """user locked file"""    with open('locked.txt') as lock_fi:        for line in lock_fi:            return linedef user_list():    with open('user_login.txt','r') as user_login:        for line in user_login:            # (user,passwd)=line.strip().split('::')            (a)=line.strip().split('::')            return a           # return user,passwd            # username.append(line.split('::'))def user_login():    """user login infomation"""    user_list()    flag=False    lock_user_fi()    user_list()    # print(user,passwd)    a=0    while a<3:        if flag:            break        username=input('input username:')        if username in user_list():            b = 1            while b < 4:                if flag:                    break                password = input('input pasword:')                if password in user_list() and username in user_list():                    print('login successfully!')                    flag = True                # if username in lock_user_fi():                #     print("user alread locked")                if password not in user_list():                    print("invalid input")                b+=1        if username in lock_user_fi():            print("user alread locked")            flag=True        if  username not in user_list() and username not in lock_user_fi():            print("invalid input")        a+=1        if username in user_list():            flag=True    else:        print('program exit')def user_loop():    pass    # a=0    # while a<3:    #     user_input()    #     a+=1#user_loop()user_login()# user_list()#
 

转载于:https://www.cnblogs.com/tonycloud/articles/6676194.html

你可能感兴趣的文章
用PHP开始你的MVC (四)实现View层
查看>>
在PHP中利用XML技术构造远程服务(资料传输)
查看>>
PEAR简介:用PEAR来写你的下一个php程序
查看>>
安装pear
查看>>
如何自己安裝和使用 PEAR
查看>>
Freebsd 公钥 public key ssh 登录 secureCRT
查看>>
PHP也可以當成Shell Script
查看>>
正则表达式使用详解(一)
查看>>
WIN下,Web.py+apache2.2(mod_wsgi)保证session可用
查看>>
前端开发框架bootstrap
查看>>
The Best BootStrap Resources
查看>>
监听的IP本地不存在 负载均衡启动报错
查看>>
缓冲(Bufer)和缓存(cache)区别
查看>>
tmpfs文件系统
查看>>
浏览器缓存
查看>>
favicon.ico引起的大量404
查看>>
Nginx缓存服务
查看>>
NFS一些问题
查看>>
利用TCP Wrappers构建sshd访问控制列表
查看>>
DenyHosts
查看>>