• Python教程:跳出多层循环for、while


    for跳出多层循环

    break_flag = False
    for i in range(10):
        print("爷爷层",i)
        for j in range(10):
            print("=爸爸层",j)
            if j == 3:
                break_flag = True
                break
            for k in range(10):
                print("===>孙子层",k )
                if k == 2:
                    break_flag = True
                    break
            if break_flag:
                break
        if break_flag: #if break_falg == True:
            print("我儿子死了,我也不活了..")
            break
    print("keep going....")
    

    while跳出多层循环

    #Python学习交流QQ群:778463939
    break_flag = False
    count = 0
    while break_flag == False  :
        print("爷爷层。。。")
        while  break_flag == False:
            print("爸爸层...")
            while  break_flag == False:
                count +=1
                if count >10:
                    break_flag = True
                print("炎龙层...")
    print("keep going....")
    

    跳出多级菜单

    map={
        "华南":{
            "广东":["广州市","佛山市","深圳市","东莞市"],
            "广西":["南宁市","柳州市","桂林市","北海市"],
            "海南":["海口市","三亚市","三沙市","儋州市"]
                 },
        "华东":{
            "上海":["黄浦区","卢湾区","徐汇区","长宁区"],
            "安徽":["合肥市","芜湖市","淮南市","马鞍山市"],
            "江苏":["南京市","无锡市","徐州市","常州市"]
                }
    }
    flag = False
    while flag == False:
        print("中国有如下地区:")
        for i in map.keys():
            print(i)
        area = input("请选择一个地区、b或者q:").strip()
        if area == "b":
            break
        if area == "q":
            flag = True
        if len(area) == 0:
            continue
        if area in map.keys():
            while flag == False:
                print("该地区有如下省:")
                for j in (map[area]).keys():
                    print(j)
                province = input("请选择一个省、b或者q:").strip()
                if province == "b":
                    break
                if province == "q":
                    flag = True
                if len(province) == 0:
                    continue
                if province in  (map[area]).keys():
                    while flag == False:
                        print("该省有如下城市:")
                        for j in map[area][province]:
                            print(j)
                        city = input("请选择b或者q:")
                        if city == "b":
                            break
                        if city == "q":
                            flag = True
                        if len(city) == 0:
                            continue
    

    跳出多层循环简化版

    menu = {
        '北京':{
            '海淀':{
                '五道口':{
                    'soho':{},
                    '网易':{},
                    'google':{}
                },
                '中关村':{
                    '爱奇艺':{},
                    '汽车之家':{},
                    'youku':{},
                },
                '上地':{
                    '百度':{},
                },
            },
            '昌平':{
                '沙河':{
                    '老男孩':{},
                    '北航':{},
                },
                '天通苑':{},
                '回龙观':{},
            },
            '朝阳':{},
            '东城':{},
        },
        '上海':{
            '闵行':{
                "人民广场":{
                    '炸鸡店':{}
                }
            },
            '闸北':{
                '火车战':{
                    '携程':{}
                }
            },
            '浦东':{},
        },
        '山东':{},
    }
    last_layers =  [  menu  ]  #上一层
    current_layer = menu  #当前层
    while True:
        for key in current_layer:
            print(key)
        choice = input(">>:").strip()
        if len(choice)==0:continue
        if choice in current_layer: #进入下一层
            last_layers.append(current_layer) #当前层添加到列表
            current_layer = current_layer[choice] #北京
        if choice == "b":
            if last_layers:
                current_layer = last_layers[-1] #取到上一层,赋值给current_layer
                last_layers.pop()
        if choice == 'q':
            break
    
  • 相关阅读:
    随机数
    质数
    猜数
    失败
    判断质数
    2019.7.21记录
    9*9乘法表
    小人
    奔跑的字母

  • 原文地址:https://www.cnblogs.com/djdjdj123/p/13907521.html
Copyright © 2020-2023  润新知