初学Python写一个简单的登陆系统

本文记录了一位初学者使用Python实现一个简单的登录系统的经历。系统存在一些不足,如用户锁定机制有漏洞,计数不会正确处理不同用户切换的情况。作者计划改进,可能通过在外部文件中存储计数变量来修复问题,但目前尚未实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新手,虽然比较简单的东西,但是弄了我很久

很多不完善的地方,比如锁定用户,同一用户输入错三次密码就会锁定,但是如果在第二第三次换了用户再输入原来的用户,则计数会重新计算

另外不存在的用户输入密码错误次数过多也会被锁定,然后还能创建一个被锁定的用户,这个就不搞了,只要检测一下是否存在用户名就可以了

暂时想到了解决办法是在一个专用的文件里面增加一个专用的计数变量,舍弃blocklist这个文件,但是不懂怎么操作,先留着以后

虽然python没有像C一样的main函数作为程序入口,姑且弄了一个,方便看懂

'''登陆系统
要求:
1,可以选择创建新的用户
2,可以登陆原有的用户
3,输入密码错误三次后用户则被锁定'''

flag=True #循环控制符

def createuser():
    f=open('userlist.txt','r')#打开已存在用户的文件,假设文件已经存在
    flag=True
    name=f.readlines()
    f.close()
    while flag:
        username=input('username:')
        flag2=False#用户名已存在的标记符
        for line in name:
            if(username==line.split('*')[0]):
                flag2=True
                print("用户名已存在,请重新输入")
        if flag2!=True:
            f=open('userlist.txt','a')#创建新的用户
            f.write('\n'+username)
            f.write('*')
            password=input('password:')
            f.write(password)
            f.close()
            break
    main()


def logi
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值