先明确要实现那些功能
1. 用户登录,判断用户名密码是否正确
2. 密码输入三次不对则锁定账号
3. 锁定账号无法登录
分析:
1. 输入用户名,判断用户名是否存在,即用户名是否在用户名文件中存在;
2. 如果用户名存在,则判断密码是否正确,如果密码正确,则登录成功,密码不对,提示再次输入,超过三次,锁定用户名,并写入锁定文件;
3. 如果用户名不存在,则提示用户名不存在
先在同一目录下创建两个文件:user_name.txt和black_name.txt
代码如下:(此代码仅供娱乐,还有大量已知bug尚未修复.!@#$%^&*())希望大家给与帮助修改
ps:个人觉得还是有参考价值的
#!/usr/bin/env python #-*- coding:utf-8 -*- #author -*- Zhao Xiao Fan -*- username = input("please enter your username:") #输入用户名 #判断用户名是否锁住 black_user = open("black_user.txt") for locker in black_user: lock_user = locker.strip() #提取locker文件里面的信息 if username == lock_user: print("You have been locked!傻逼玩意") exit() else: continue black_user.close() #读取完毕,关闭文件 #输入密码 password = input("Please input your password:") with open("user_name.txt") as user_info: #使用with as可以省去关闭文件代码 for account in user_info: #查看输入的用户名是否在文件里面 account_user = account.strip().split(" ")[0] #获取用户名 account_pass = account.strip().split(" ")[1] #获取密码 if username == account_user: #判断输入的用户名是否在文件中 if password == account_pass: #判断输入的密码是否正确 print("Welcome login!") #用户名密码都正确 break else: print("wrong password!") #密码错误,下面加上count,只允许输入三次 for count in range(0,2): count = count + 1 password = input("Please enter password:") if password == account_pass: print("Welcome login!") break else: print("wrong password!") if count == 2: print("此用户名已经被锁定了,傻逼东西,输个密码都出错!") black_user = open("black_user.txt","a+") #三次写错,写入黑名单,采用追加方式 black_user.write(" ") black_user.write(username) black_user.close() else: # 文件没有此账号 print("NO this user!") #用户名是一个一个从文件中提取的,比较一个不正确就会输出一次 No this User #应该先把用户名全部提取到一个列表中,再来判断是否存在,但是我把这个忘了,写这个代码的时候我将近一个月没看python了 ~!@#¥%%%…… #半个月后再来修改 零bug !@#$%^&*