python 多级菜单显示和登录小接口

登录小接口
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("输入非法!")

猜你喜欢

转载自blog.csdn.net/ieiqny1/article/details/81119104
今日推荐