流程图:
""" 登录接口, 输入正确的用户名和密码,才能登录成功, 输入三次都失败,用户名将被写入黑名单. 黑名单中的用户将锁定,无法登录,需联系管理员解锁. """ # 调用操作系统接口模块 import os # 定义正确用户名和密码 username = "xht" password = "abc-123" # 计数器 counter = 0 # 定义blacklist_file是一个变量,不需要赋值,在24行会进行赋值 blacklist_file = "" # 读取黑名单 # 检查当前目录是否有 user.txt这个文件,如果有则输出True,没有输出false,赋值给file file = os.path.exists("./user.txt") #判断是否有 user.txt 这个文件 if file == True: #open()打开文件,并用read()读取文件,然后赋值给blacklist_file blacklist_file = open("user.txt", "r").read() #检查blacklist_file文件的内容是否和username变量中的用户名相同 if blacklist_file == username: #输出锁定提示 print("Username lock ") #退出程序 exit() while counter < 3: #键盘输入用户名和密码 input_user = input("username") input_pass = input("password") #判断键盘输入的用户名和密码是否=定义的用户名和密码,只有俩个同时正确才为True if input_user == username and input_pass == password: print("Welcome to login !") #跳出整个循环结构,用户名和密码输入正确就跳出循环嘛 break else: print("Wrong username or password!") print("请重试...") #每循环一次counter+1,用来记录输入错误的次数 counter += 1 # 写入黑名单 #判断是否错误输入三次 if counter == 3: #提示信息 print("Account locked please contact the administrator!") #以追加模式打开(从EOF 开始,文件不存在自动创建文件) blacklist_user = open("user.txt", "a") #将用户名写入黑名单 blacklist_user.write("%s" % username) #使用open后一定要记得调用文件对象的close()方法 blacklist_user.close()