登录小接口
username = 'test'
passwd = '123456'
for i in range(3):#登录三次后锁定
f = open("test.txt")#访问文件
userName = input("UserName:")#输入用户名
if f.read()==userName:#判断是否是锁定用户
print("此用户已锁定")
exit()
userPasswd = input("PassWord:")#输入密码
if userPasswd == passwd and username==userName:#判断是否正确,正确有提示
print("恭喜你,成功登录!")
else:
print("用户名或者密码错误请重试")
else: #三次以上错误就锁定
f=open("test.txt","w")
f.write("test")
f.close()
多级菜单显示
zone = {
'山东' : {
'青岛' : ['四方','黄岛','崂山','李沧','城阳'],
'济南' : ['历城','槐荫','高新','长青','章丘'],
'烟台' : ['龙口','莱山','牟平','蓬莱','招远']
},
'广东' : {
'深圳' : ['罗湖','福田','南山','宝安','布吉'],
'广州' : ['天河','珠海','越秀','白云','黄埔'],
'东莞' : ['莞城','长安','虎门','万江','大朗']
}
}
pro_list = list(zone.keys()) #省列表
while True:
print(" 省".center(20,'*'))# 省居中,打印20个*号
for i in pro_list:
print(pro_list.index(i)+1,i) #打印省ID
pro_id = input("请输入省编号,或输入q(quit)退出:") #输入省ID
if pro_id.isdigit():#检查字符串是否由数字组成
pro_id=int(pro_id)#强制转成int
if(pro_id>0 and pro_id<=len(pro_list)):#判断id 是否是满足要求 不能超过列表的范围
pro_name = pro_list[pro_id-1 ] #根据省ID获取省名称 为什么-1是因为要列表是从0开始算
city_list =list(zone[pro_name].keys()) #根据省名称获取对应的值,从新字典中获取key,即市列表
while True:
print(" 市".center(20,'='))
for v in city_list:
print(city_list.index(v)+1,v) #打印市列表
city_id = input("请输入市编号,或输入b(back)返回上级菜单,或输入q(quit)退出:")
if city_id.isdigit():
city_id = int(city_id)
if (city_id>0 and city_id <=len(city_list)):
city_name = city_list[city_id-1]
town_list = zone[pro_name][city_name]
while True:
print("县".center(20,"*"))#打印县列表
for j in town_list:
print(town_list.index(j)+1,j)
back_or_quit = input("输入b(back)返回上级菜单,或输入q(quit)退出:")
if back_or_quit == 'b':
break
elif back_or_quit == 'q':
exit()
else:
print("输入非法!")
else:
print("编号不存在!")
elif city_id == 'b':
break
elif city_id == 'q':
exit()
else:
print("输入非法!")
elif pro_id == 'b':
break
elif pro_id == 'q':
exit()
else:
print("输入非法!")