zoukankan      html  css  js  c++  java
  • 按任意键选择,返回,退出

    按数字键选择任意城市、地区等,按b返回上一级菜单重新选择,按q退出整个程序

    import sys
    
    haidian=['guotu','zhongguancun']
    chaoyang=['shoutu','dayuecheng']
    pudong=['mingzhu','waitan']
    dongfang=['dong','fang']
    
    beijing={'haidian':haidian,'chaoyang':chaoyang}
    shanghai={'pudong':pudong,'dongfang':dongfang}
    city={'beijing':beijing,'shanghai':shanghai}
    
    
    while True:
        for x,y in enumerate(city):
            print x+1,y
        num_c=raw_input('Please enter a number to choose a city,or press b back to previous menu,or press q to quit:')
    
        if num_c == 'q':
            sys.exit()
        if num_c is not None: #此处需要细化判断输入字符是否合规
            for x,y in enumerate(city):
                if x+1 == int(num_c):
                    city_choice = y
                    print 'Your choice is : %s' %city_choice
    
                
                    while True:
                        for x,y in enumerate(city[city_choice]):
                            print x+1,y
                        num_d=raw_input('Please enter a number to choose a district,or press b back to previous menu,or press q to quit:')
                        if num_d == 'q':
                            sys.exit()
                        if num_d == 'b': #返回到上一级选择城市的菜单
                            break
                        if num_d is not None:
                            for x,y in enumerate(city[city_choice]):  #枚举city['beijing']
                                if x+1 == int(num_d):
                                    dt_choice = y
                                    print 'Your choice is : %s' %dt_choice
    
    
                                    while True:
                                        for x,y in enumerate(city[city_choice][dt_choice]): #枚举city['beijing']['haidian']
                                            print x+1,y
                                        num_s=raw_input('Please enter a number to choose a place,or press b back to previous menu,or press q to quit:')
                                        if num_s == 'q':
                                            sys.exit()
                                        if num_s == 'b': #返回到上一级选择地区的菜单
                                            break
                                        if num_s is not None:
                                            for x,y in enumerate(city[city_choice][dt_choice]):
                                                if x+1 == int(num_s):
                                                    l_choice = y
                                                    print 'Your choice is : %s' %l_choice
  • 相关阅读:
    访问者模式
    oracle触发器简单实用示例
    C#控件交互效果类(也可以用作缩小面板放大,展示更多信息)
    23种设计模式探索C#
    windows快捷操作个人记录(常用)
    C#巧妙使用关键字async/await
    学习的枚举类型,结构以及初步了解数组
    目前学习.net时间让我摸不着头脑的事情
    对C#中几个循环语句的使用,请教
    学习了用控制台显示结果
  • 原文地址:https://www.cnblogs.com/dreamer-fish/p/5504343.html
Copyright © 2011-2022 走看看