zoukankan      html  css  js  c++  java
  • Python学习笔记day1

    学习Python的第一天时有一个“Python三级菜单”的作业,为了完成这个作业个人遇到一些问题,随笔记录。

    # -*- coding:utf-8 -*-
    # Autor: Li Rong Yang
    # 所有操作使用此字典完成

    zone = { '山东' : { '青岛' : ['四方','黄岛','崂山','李沧','城阳'], '济南' : ['历城','槐荫','高新','长青','章丘'], '烟台' : ['龙口','莱山','牟平','蓬莱','招远'] }, '江苏' : { '苏州' : ['沧浪','相城','平江','吴中','昆山'], '南京' : ['白下','秦淮','浦口','栖霞','江宁'], '无锡' : ['崇安','南长','北塘','锡山','江阴'] }, '浙江' : { '杭州' : ['西湖','江干','下城','上城','滨江'], '宁波' : ['海曙','江东','江北','镇海','余姚'], '温州' : ['鹿城','龙湾','乐清','瑞安','永嘉'] }, '安徽' : { '合肥' : ['蜀山','庐阳','包河','经开','新站'], '芜湖' : ['镜湖','鸠江','无为','三山','南陵'], '蚌埠' : ['蚌山','龙子湖','淮上','怀远','固镇'] }, '广东' : { '深圳' : ['罗湖','福田','南山','宝安','布吉'], '广州' : ['天河','珠海','越秀','白云','黄埔'], '东莞' : ['莞城','长安','虎门','万江','大朗'] } }

      

    以上字典分为三级分别是“省”、“市”、“县”

    打印一级菜单“省”

    print(zone.keys())
    

    运行结果如下,打印后显示了所有的省级城市  

    但是这看起来并不好看且无法用于循环,所以我们把它转换为list类型

    city_id = list(zone.keys())
    print(city_id)
    

    运行结果如下  

    根据一级菜单打印二级菜单

    print(zone['山东'])
    

    运行结果如下  

    根据以上信息显示,明显不光我们需要的二级菜单还有三级菜单“县”,所以要使用.keys()函数

    print(zone['山东'].keys())
    City_Shi = list(zone['山东'].keys())
    print(City_Shi)
    

    运行结果如下

    打印三级菜单

    print(zone['山东']['青岛'])
    

    运行结果如下

    到此列表的一、二、三级打印方法就完了,在使用简单的while循环和if判断最终“Python三级菜单”代码如下

    ################################################
    # Task Name: 三级菜单                           #
    # Description:打印省、市、县三级菜单             #
    #              可随时返回上一级                      #
    #               可随时退出程序                   #
    #----------------------------------------------#
    # Author:Li Rong Yang                           #
    ################################################
    
    zone = {
        '山东' : {
            '青岛' : ['四方','黄岛','崂山','李沧','城阳'],
            '济南' : ['历城','槐荫','高新','长青','章丘'],
            '烟台' : ['龙口','莱山','牟平','蓬莱','招远']
        },
        '江苏' : {
            '苏州' : ['沧浪','相城','平江','吴中','昆山'],
            '南京' : ['白下','秦淮','浦口','栖霞','江宁'],
            '无锡' : ['崇安','南长','北塘','锡山','江阴']
        },
        '浙江' : {
            '杭州' : ['西湖','江干','下城','上城','滨江'],
            '宁波' : ['海曙','江东','江北','镇海','余姚'],
            '温州' : ['鹿城','龙湾','乐清','瑞安','永嘉']
        },
        '安徽' : {
            '合肥' : ['蜀山','庐阳','包河','经开','新站'],
            '芜湖' : ['镜湖','鸠江','无为','三山','南陵'],
            '蚌埠' : ['蚌山','龙子湖','淮上','怀远','固镇']
        },
        '广东' : {
            '深圳' : ['罗湖','福田','南山','宝安','布吉'],
            '广州' : ['天河','珠海','越秀','白云','黄埔'],
            '东莞' : ['莞城','长安','虎门','万江','大朗']
        }
    }
    while True:
        for i in zone:
            print(i)
    
        while True:
            City_Shi = input("请输入要查看的省级城市,(q)退出(b)返回上一层:")
            if City_Shi in zone:
                for Shi in  zone[City_Shi]:
                    print(Shi)
    
                while True:
                    City_Xian = input("请输入要查看的市级城市,(q)退出(b)返回上一层:")
                    if  City_Xian in zone[City_Shi]:
                        for Xian in zone[City_Shi][City_Xian]:
                            print(Xian)
                        user_select = input("输入(q)退出(b)返回上一层:")
                        if user_select == 'q':
                            exit()
                        elif user_select == 'b':
                            break
                        elif user_select != 'q' and user_select != 'b':
                            print("输入有误请重新输入:")
                if City_Xian == 'q':
                    exit()
                elif City_Xian == 'b':
                    break
            elif City_Shi == "q":
    
                print("程序已退出".center(50,'-'))
                exit()
            elif City_Shi == 'b':
                break
    

      

  • 相关阅读:
    eclipse用法和技巧
    eclipse常用快捷键集锦
    移动端input的虚拟键盘影响布局
    使用github page + Hexo搭建个人博客折腾记
    javascript数组的排序(sort,冒泡)
    响应式布局与媒体查询
    css属性选择器诸如Class^=,Class*= ,Class$=释义
    怎么预览 GitHub 项目里的网页或 Demo
    常见浏览器的兼容问题(一)
    jQuery常用交互效果
  • 原文地址:https://www.cnblogs.com/lirongyang/p/9368586.html
Copyright © 2011-2022 走看看