学习Python 登入接口重写版

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习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 = 0
g = 3
w = 0
j = 0
print(‘‘‘
*************************************
        欢迎使用登入系统
*************************************‘‘‘)
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 登入接口重写版的主要内容,如果未能解决你的问题,请参考以下文章

java 代码片段

python获取淘宝登入cookies

[vscode]--HTML代码片段(基础版,reactvuejquery)

python 机器学习有用的代码片段

智能合约实战 solidity 语法学习 12 [ virtual 重写override 抽象abstract 接口interface 库library 销毁selfdestruct] 附代码(代码片

学习笔记:python3,代码片段(2017)