首页 > 代码库 > 学习Python 登入接口重写版

学习Python 登入接口重写版

要求

1.输入用户名与密码

2.验证成功显示欢迎页

3.输入错误3次,锁定用户名

 

也是看了非常多的大神,老师,师兄的代码启发,才写出如下的重写版

 

       这条代码也是瞎几把搞才研究出来的,具体原理不是很懂

              name = dict(k.strip().split(‘=‘) for k in name_list.readlines())

如果把 strip() 和 split(‘=‘) 的位置互换一下 那么就会报错 原因估计是 strip() 只能对 str类型操作
已知BUG:
1.
输入2次同一个正确的用户名和错误的密码,第3次输入另一个正确的用户名和错误的密码,则锁定第3次输入的用户名

 

用户名与密码文件  name_list.ini 内容如下:


mask=123

jake=123qq

qb11=123qwe


锁定用户列表文件 lock_list.ini   内容默认为空:

 

 

 

 

i = 0g = 3w = 0j = 0print(‘‘‘*************************************        欢迎使用登入系统*************************************‘‘‘)while i < 4:    i = i + 1    i_name = input(请输入您的用户名:) #输入用户名    name_list = open(name_list.ini,r) #读取用户名和密码字典    name = dict(k.strip().split(=) for k in name_list.readlines())    name_list.close()    lock_list = open(lock_list.ini,r)# 读取被锁定用户名    lock = [k.strip() for k in lock_list.readlines()]    lock_list.close()    lk = i_name in lock #输入的用户名 对比 锁定列表    f = i_name in name  #输入的用户名 对比 注册已用户名    if len(i_name) == 0 or j == 3: #检查输入的用户名是否为空        print(您输入的用户名为空)        j = j + 1        if j == 3:            print(您已经连续输入3次空用户名了,系统强制退出)            i = 4    elif lk == True:         print(您的用户名已被锁定,请联系管理员)        i = i + 4    elif f == False:         w = w + 1        print(您输入的用户名无效,请重新输入)        if w == 3:            print(您已经输入了3次数无效用户名了,系统强制退出,)            i = 4    elif f == True: #如果用户名正确 则取其密码,让用户输入密码        mima = name[i_name]        i_mima = input(请输入您的密码:)        if i_mima == mima:            print(欢迎光临,%s%i_name) #密码正确 显示欢迎页            i = 4        else:            g = g - 1            print(用户名或密码错误\n(您还有%s次机会)%g)                        if g == 0:                print(您已经输入了3次错误的密码,已被系统锁定)                a = open(lock_list.ini,a)#密码错误3次,写入用户名到锁定列表                a.write(str(i_name + \n))                a.close()                i = 4

 

可否再精简代码?

可否加强功能?

学习Python 登入接口重写版