• Python学习-------------------三级菜单简单版


    题目:

    多级菜单
             1.三级菜单
             2.可依次选择进入的各子菜单
             3.所需新知识点:列表、字典

    ReadMe:

                 这个做循环,比较绕脑子

                 点开运行即可

    Mind Map:

    代码:

     1 #!/usr/bin/env python
     2 #py3.5
     3 #2018.02.06
     4 #-*- Coding:utf-8 -*-
     5 # Author:Eric.Shen
     6 #多级菜单
     7 #1.三级菜单
     8 #2.可依次选择进入的各子菜单
     9 #3.所需新知识点:列表、字典
    10 
    11 #自己建立一个三级字典
    12 menu = {
    13     "衣服":{
    14         "男士":["上衣","下衣","鞋包","皮带"],"女士":["上衣","裤子","裙子","鞋包"],"儿童":["上衣","下衣","鞋包"]},
    15     "汽车":{
    16         "精品车":["宝马","奔驰","路虎"],"二手车":["大众","本田","荣威"]},
    17     "食物":{"":["肥肉","瘦肉","肥瘦"]}
    18 }
    19 
    20 #将三级菜单的key赋值product_list
    21 product_list = list(menu.keys())#获得一级菜单
    22 while True:
    23     print("菜单".center(50,"*"))
    24     for line in product_list:
    25         print(product_list.index(line),line)
    26     print("------------------")
    27     choice = input("请输入编号或者输入q退出b返回:")
    28     if choice.isdigit():
    29         choice = int(choice)
    30         if choice >= 0 and choice < len(product_list):
    31             choice_name = product_list[choice]#获得第一级Id
    32             product = list(menu[choice_name].keys())#获得选择商品的下一级菜单
    33             while True:
    34                 print("商品".center(50,"*"))
    35                 for line2 in product:#打印二级菜单
    36                     print(product.index(line2),line2)
    37                 print("----------------")
    38                 choice_product = input("请输入编号或者输入q退出b返回:")
    39                 if choice_product.isdigit():
    40                     choice_product = int(choice_product)
    41                     if choice_product >= 0 and choice_product < len(product_list):
    42                         choice_name2 = product[choice_product]#获得第二级的Id
    43                         choice_name2_list = menu[choice_name][choice_name2]#获得第二级菜单
    44                         while True:
    45                             print("衣物".center(50,"*"))
    46                             for line3 in  choice_name2_list:
    47                                 print(choice_name2_list.index(line3),line3)
    48                             back_or_quit = input("返回输入b,退出输入q")
    49                             if back_or_quit == "b":
    50                                 break
    51                             elif back_or_quit == "q":
    52                                 exit()
    53                             else:
    54                                 print("输入错误!")
    55                     else:
    56                         print("输入%d不存在"%(choice_product))
    57                 elif choice_product == "q":
    58                     exit()
    59                 elif choice_product == "b":
    60                     break
    61                 else:
    62                     print("输入非法!")
    63         else:
    64             print("输入%d不存在"%(choice))
    65     elif choice == "q":
    66         exit()
    67     elif choice == "b":
    68         break
    69     else:
    70         print("输入非法!")
    View Code

    欢迎指错

  • 相关阅读:
    1043. 输出PATest(20)
    1042. 字符统计(20)
    1041. 考试座位号(15)
    1040. 有几个PAT(25)
    1035. 插入与归并(25)
    栈:火车进站
    ABC Fennec VS. Snuke
    费解的开关
    最短Hamilton路径
    built?
  • 原文地址:https://www.cnblogs.com/zhengyuan/p/8423172.html
Copyright © 2020-2023  润新知