业二:编写登陆接口
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
流程图
”“”
知识点1: python下的文件操作、文件与列表的转换和应用
知识点2:逻辑判断 if/elif/else
知识点3: while/for循环
“”“
“”“
设计表name.txt:
用户名 密码 黑名单
王1 111111 0
王2 222222 1
王3 333333 0
王4 444444 1
”“”
# with打开文件代码块结束后自动关闭文件; # 强制文件utf-8解码,要不不能读中文; # split()将str进行切片,并返回切片后的列表 with open("名单.txt","r+",encoding="UTF-8") as f: f_list=[] for line in f: f_list.append(line.split()) #初始化变量 i=0 j=0 k=0 #第一步 输入用户名 name_input = input("请输入用户名:") #判断用户是否存在 #判断用户是否黑名单 while i < len(f_list): if name_input in f_list[i]: if 1 == int(f_list[i][2]): print("You are locked !") exit() else: print("Welcom %s !" %name_input) psw = f_list[i][1]#寄存定位用户后的密码,减少再次遍历操作 blk = f_list[i][1]#寄存定位用户后的黑名单状态,存指针,不是Copy blk[]= 这是存Copy break i+=1 else: print("No such user !") exit() #第二步 输密码 for k in range(3): psw_input = input("请输入密码:") if psw_input == psw: print("You are login in !") break else: print("Wrong password! You have %d tims"%(2-k)) else: print("You are locked !") blk = 1 #写文件