python学习之三级菜单

#!/user/bin/env python
# encoding:utf-8
# Author:Dalianmao

data = {
    '浙江': {
        "杭州": {
            "上城区": ["xihu", "wahaha"],
            "下城区": ["链家地产", "我爱我家"],
            "临安区": ["dalianmao", "27"]

        },
        "绍兴": {
            "上虞": ["奔驰", "陌陌"],
            "绍兴": ["CICC", "HP"],
            "诸暨": ["Advent", "飞信"]
        },
        "宁波": {}
    },
    '江苏': {
        "苏州": {},
        "南京": {},
        "镇江": {}
    },
    '上海': {
        "黄埔": {"zhongan", "haha"},
        "长宁": {"yiguo", "hehe"},
        "闵行": {"紫竹", "大钱宝"}
    }
}

flag=True

while flag:
    for i1 in data:
        print(i1)
    choice1=input("请选择1>>>>>:")
    if choice1 in data:
        while flag:
            for i2 in data[choice1]:
                print('\t\t',i2)
            choice2=input("请选择2>>>:")
            if choice2 in data[choice1]:
                while flag:
                    for i3 in data[choice1][choice2]:
                         print('\t\t',i3)
                    choice3=input("请选择3>>>>>:")
                    if choice3 in data[choice1][choice2]:
                            for i4 in data[choice1][choice2][choice3]:
                                print('\t\t',i4)
                            choice4=input("最后一层了请输入b返回,或q退出>>>>>>>>:")
                            if choice4=="b":
                                continue
                            elif choice4=="q":
                                flag=False
                            else:
                                print("输入有误,请重新输入!!")
                    elif choice3=="b":
                        break
                    elif choice3=="q":
                        flag=False
                    else:
                        print("输入有误,请重新输入!!")
            elif choice2=="b":
                 break
            elif choice2=="q":
                 flag=False
            else:
                print("输入有误,请重新输入!!")
    elif choice1=="q":
        exit()
    else:
        print("输入有误,请重新输入!!")

注:1、flag作为循环结束的灵活控制

       2、break 跳出当前循环

      3、continue 结束本次循环,进入下一次循环

猜你喜欢

转载自blog.csdn.net/dalianmao66/article/details/82593180
今日推荐