• Day2三级菜单(菜鸟版)


    需求:

    1. 三级菜单
    2. 可依次选择进入各子菜单

    Readme:

      1.菜单选择顺序:省份(一级)-->下属市(二级)-->下属县(三级)

      2.在各级菜单都可直接退出程序,在市县级可以按b返回一级菜单

      3.完全是自己独立完成的,实现方法和网上不一样,感觉自己的方法比较笨

    流程图:

       

    代码:

    #-*- coding:utf-8 -*-
    #Author:Sam
    
    list = {'廣東省':
                {'揭陽市':
                     ['揭東縣', '惠來縣'],
                 '清遠市':
                     ['陽山縣', '連山縣']},
            '湖南省':
                {'株洲市':
                     ['攸縣', '茶陵縣'],
                 '長沙市':
                     ['長沙縣', '瀏陽市']}
            }
    province = []       #省份列表
    city = []           #市列表
    county = []         #县列表
    
    while True:
        for index,i in enumerate(list.keys()):
            print(index,i)      #将下标和省份一起列出,方便后面用数字选择菜单
            province.append(i)  #加入省份列表
    
        user_choice_province = input("請選擇省份,按b返回,按q退出>>>:")
        if user_choice_province.isdigit():          #判断输入是否为数字
            user_choice_province = int(user_choice_province)    #将输入转换为整数
            if user_choice_province >= 0 and user_choice_province < len(list):      #判断选择是否正确
                choice_province = province[user_choice_province]    #选择的省份生成一个变量
                city_list = list.get(choice_province)           #利用字典属性获取对应省份下属市,并生成新字典
    
                for index, i in enumerate(city_list):       #利用上面的新字典,将下标和下属市列出供选择
                    print(index, i)
                    city.append(i)      #生成市列表,方便下面操作
                user_choice_city = input("請選擇市,按b返回,按q退出>>>>:")
                if user_choice_city.isdigit():
                    user_choice_city = int(user_choice_city)
                    if user_choice_city >=0 and user_choice_city < len(city):
                        choice_city = city[user_choice_city]
                        county_list = city_list.get(choice_city)
    
                        for index,i in enumerate(county_list):
                            print(index,i)
                        user_choice_county = input("請選擇縣,按b返回,按q退出>>>>:")
                        if user_choice_county.isdigit():
                            user_choice_county = int(user_choice_county)
                            if user_choice_county >=0 and user_choice_county <len(county_list):
                                print(county_list[user_choice_county])
    
                            elif user_choice_county == 'b':
                                break
                            elif user_choice_county == 'q':
                                exit("退出")
                            else:
                                print("输入错误")
                    elif user_choice_city == 'b':
                        break
                    elif user_choice_city == 'q':
                        exit("退出")
                    else:
                        print("输入错误")
            elif user_choice_province == 'b':
                break
            elif user_choice_province == 'q':
                exit("退出")
            else:
                print("输入错误")
        else:
            exit("退出")
    

      

  • 相关阅读:
    [NOI2004] 郁闷的出纳员
    对象内部套嵌多个对象
    函数
    匿名函数、对象
    函数部分
    Html部分
    搜索二叉树的应用
    二叉树的线索化
    搜索结构搜索二叉树
    堆与最优级队列
  • 原文地址:https://www.cnblogs.com/pynetwork/p/8922714.html
Copyright © 2020-2023  润新知