1、编写登陆接口
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
README.txt
1、运行login.py
2、程序首先读取user.txt帐号信息和lock.txt被锁定帐号信息。 3、输入帐号,密码 4、判断:
如输入正确显示登录成功。
如输入帐号为锁定帐号,提示用户并退出。
如帐号名称或密码错误,可再重复输入2次,超过三次后退出程序。如果是系统账户将被锁定帐号写入lock.txt。
流程图:

login.py
# 初始化账户字典,帐号锁定列表
userinfo = {}
lockinfo = []
# 读取账户信息及锁定帐号信息
with open("user.txt", "r") as f1, open("lock.txt", "r") as f2:
while True:
line = f1.readline().strip("\n")
if not line:
break
else:
userinfo[line.split(":")[0]] = line.split(":")[1]
while True:
line = f2.readline().strip("\n")
if not line:
break
else:
lockinfo.append(line)
# 对输入的帐号进行处理
lockflag = 0
while lockflag < 3: # 控制输入小于3次
lockflag += 1
user = input("your name:")
passwd = input("your password:")
if user in lockinfo: #判断是否是锁定帐号
print("this is lock account!")
break
if user in userinfo: #判断是否是系统内帐号
if passwd == userinfo[user]: #判断密码是否正确
print("login ok!")
break
else:
print("password error!")
continue
else:
print("user is erro!")
continue
else: # 超过3次,将帐号锁定记录至lock.txt
with open("lock.txt", "a+") as f:
f.write(user+'\n')
print("your account is be locked!")
2、多级菜单
- 三级菜单
- 可依次选择进入各子菜单
README.txt
1、初始化地址数据 2、提示用户如何操作 输入显示菜单,可进入到下一级菜单 输入b返回上一级菜单 输入q退出程序 3、输入错误有错误提示,并提示重新输入
流程图:

address.py
# 初始化地址数据
adic = {
"北京":{
"朝阳":["望京", "劲松", "亮马桥"],
"海淀":["黄庄", "魏公村", "大钟寺"]
},
"辽宁":{
"阜新":["海州", "平安", "彰武县"],
"锦州":["铁西区", "铁东区"]
}
}
# 说明
print('''可进行的操作有输入菜单名称进入下一级,返回上一级返回输入b,退出输入q!
--------------------------------------------------------------------------------------- ''')
while True: # 一级菜单循环操作
for i in adic:
print(i)
l1 = input("输入一级菜单或q退出:")
if l1 == "q":
exit()
elif l1 not in adic:
print("输入错误,重新输入!")
continue
while True: # 二级菜单循环操作
for i in adic.get(l1):
print(i)
l2 = input("输入二级菜单或q退出或b返回上一级:")
if l2 == "q":
exit()
elif l2 == "b":
break
elif l2 not in adic.get(l1):
print("输入错误,重新输入!")
continue
else:
while True: # 三级菜单循环操作
for i in adic.get(l1).get(l2):
print(i)
l3 = input("输入q退出或b返回上一级:")
if l3 == "q":
exit()
elif l3 == "b":
break
else:
print("输入错误,重新输入!")
continue
浙公网安备 33010602011771号