需求 编写登录接口 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 能够支持多个用户登陆 用户3次认证失败后,退出程序,再次启动程序尝试登陆时,仍是锁定状态
测试信息 用户 密码 alex 123 egon 456 锁定用户 密码 lyndon 789
流程图:python
脚本实现:ide
#!/bin/env python # -*- coding:utf-8 -*- # 用字典定义用户名和密码 db={'egon':'123','alex':'456','lyndon':'789'} """ 须要先建立文件user_list a、a+ 能建立文件,但不能按行读取文件内容 w、w+ 能建立文件,但每次执行会清空文件内容 r、r+ 能按行读取文件内容,但不能建立不存在的文件 只能手动建立了,心累。。。 """ # 按行读取user_list内容,以列表形式赋值给lock_list f=open('user_list','r') lock_list=f.readlines() lock_list=lock_list.__str__() f.close() while True: print (""" ========================== 【E】 登陆 【Q】 退出 ========================== """) choice=input ('请输入你的选择:') if choice.lower() == 'q': break elif choice.lower() != 'q' and choice.lower() != 'e': print ('输入错误,请从新输入') if choice.lower() == 'e': username=input ('请输入用户名:') if username not in db: print ('没有此用户!') continue elif username in lock_list: print ('该用户已锁定,请联系管理员解锁!') continue else: for i in range(3): passwd=input ('请输入密码:') if passwd != db.get(username): print ('密码错误!') if i == 2: f = open('user_list','a') f.writelines('%s\n'%username) f.close() print ('密码错误三次,用户已锁定!') exit() else: print ('登录成功!') break