首页 > 编程语言 > 详细

Python 三级菜单

时间:2021-05-07 18:58:24      阅读:18      评论:0      收藏:0      [点我收藏+]

程序需求:

  • 打印省、市、县三级菜单

  • 可返回上一级

  • 可随时退出程序

1 代码实现

程序实现思路如下:

  1. 省、市、县的三级菜单数据源以列表+字典嵌套的方式储存

  2. 使用while循环实现多次交互,while嵌套实现多级菜单打印

  3. 使用while循环+标志位实现程序的无限循环和退出

代码如下:

# 城市三级菜单以字典+列表嵌套的方式实现
location = {
    ‘四川省‘: {‘成都市‘: [‘武侯区‘, ‘青羊区‘, ‘双流区‘], ‘内江市‘: [‘市中区‘, ‘东兴区‘]},
    ‘湖北省‘: {‘武汉市‘: [‘武昌区‘, ‘江汉区‘, ‘汉阳区‘], ‘荆州市‘: [‘公安县‘, ‘江陵县‘]}
}

# 退出标志位,通过修改标志位退出程序
flag = True

while flag:

    # 打印省列表、获取输入
    print(‘省列表:‘)
    for key in location:
        print(key)
    a = input(‘请输入你想去的省[退出:quit]:‘)

    # 对输入的省做条件判断,并进入对应的循环
    if a == ‘quit‘:
        flag = False
        print(‘成功退出程序.‘)
    elif a in location.keys():

        # 输入的省份符合条件,进入二级菜单-市
        while flag:
            location_a = location[a]
            print(‘市列表:‘)
            for key in location_a:
                print(key)
            b = input(‘请输入你想去的市[返回上一级:return,退出:quit]:‘)

            # 对输入的市做条件判断,并进入对应的循环
            if b == ‘quit‘:
                flag = False
                print(‘成功退出程序.‘)
            elif b == ‘return‘:
                break
            elif b in location_a.keys():

                # 输入的市名符合条件,进入三级菜单-区县
                while flag:
                    location_b = location_a[b]
                    print(‘区列表:‘)
                    for item in location_b:
                        print(item)
                    c = input(‘请输入你想去的区[返回上一级:return,退出:quit]:‘)
                    if c == ‘quit‘:
                        flag = False
                        print(‘成功退出程序.‘)
                    elif c == ‘return‘:
                        break
                    elif c in location_b:
                        print(‘你想去的县是:%s‘ % c)
                        while flag:
                            d = input(‘是否继续[返回上一级:return,退出:quit]:‘)
                            if d == ‘quit‘:
                                flag = False
                                print(‘成功退出程序.‘)
                            elif d == ‘return‘:
                                break
                            else:
                                print(‘输入有误,请重新输入!‘)
                    else:
                        print(‘输入有误,请重新输入!‘)
            else:
                print(‘输入有误,请重新输入!‘)
    else:
        print(‘输入有误,请重新输入!‘)

2 代码测试

2.1 退出测试

2.1.1 选择省菜单前退出

技术分享图片

2.1.2 选择市菜单前退出

技术分享图片

2.1.3 选择县菜单前退出

技术分享图片

2.1.4 选择完成后退出

技术分享图片

2.2 输入有效性测试

2.2.1 省菜单输入测试

技术分享图片

2.2.2 市菜单输入测试

技术分享图片

2.2.3 县菜单输入测试

技术分享图片

2.2.4 完成后输入测试

技术分享图片

2.3 打印测试

2.3.1 打印省列表

技术分享图片

2.3.2 打印市列表

技术分享图片

2.3.3 打印县列表

技术分享图片

2.3.4 打印选择的县

技术分享图片

2.4 返回上一级测试

2.4.1 市级返回省级

技术分享图片

2.4.2 县级返回市级

技术分享图片

2.4.3 打印完成后返回县级

技术分享图片

以上

Python 三级菜单

原文:https://www.cnblogs.com/programmer4027/p/14737053.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!