zoukankan      html  css  js  c++  java
  • python闯关_Day05

    一个简单的三级菜单

    #! /usr/bin/env python
    #-*- coding:utf-8 -*-
    
    mymenu = {
        '动物' : {
            '猫' : ['黄猫','花猫'],
            '狗' : ['二哈','金毛']
        },
        '植物' : {
            '树' : ['大树','小树'],
            '草' : ['绿草','矮草']
        }
    }
    menu_list = list(mymenu.keys())             
    
    while True:
        print(" 编号 ".center(50,'*'))
        for i in menu_list:
            print(menu_list.index(i)+1,i)       
        a_id = input("请输入菜单编号,或输入q(quit)退出:")  
        if a_id.isdigit():
            a_id = int(a_id)
            if a_id > 0 and a_id <= len(menu_list):
                a_name = menu_list[a_id-1]     
                b_list = list(mymenu[a_name].keys())   
                while True:
                    print(" B级 ".center(50,'*'))
                    for v in b_list:
                        print(b_list.index(v)+1,v)       
                    b_id = input("请输入编号,或输入b(back)返回上级菜单,或输入q(quit)退出:")
                    if b_id.isdigit():
                        b_id = int(b_id)
                        if b_id > 0 and b_id <= len(b_list):
                            city_name = b_list[b_id-1]    
                            town_list = mymenu[a_name][city_name]  
                            while True:
                                print(" C级 ".center(50,'*'))
                                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                #终止此层while循环,跳转到上一层While。
                                elif back_or_quit == 'q':
                                    exit()
                                else:
                                    print("输入非法!")
                        else:
                            print("编号%d不存在。"%b_id)
                    elif b_id == 'b':
                        break
                    elif b_id == 'q':
                        # flag = True
                        # break
                        exit()
                    else:
                        print("输入非法!")
                    # if flag1:
                    #     break
            else:
                print("编号%d不存在。"%a_id)
        elif a_id == 'q':
            break
        else:
            print("输入非法!")
    

      

  • 相关阅读:
    设计模式--单例模式(Singleton)
    C# 和.Net 特性
    Fiddler 教程
    史铁生遗作:昼信基督夜信佛
    如何实现早日退休理想
    Linux 常用
    Golang 读书
    Python 读书
    RbMQ 简介
    UML 简介
  • 原文地址:https://www.cnblogs.com/marathoner/p/10253226.html
Copyright © 2011-2022 走看看