python学习-字典1

第一次写技术博客,也是刚刚申请成功,所以要先感谢博客园的相关工作人员。开发做了多年,直到今年才开始学习python,习惯了C、C++的数据格式,所以一开始就被python数据类型中的字典所吸引。基础的知识有很多同仁都写过了,我只是通过我学习中的一道作业题来说明一下。

题目:三级菜单

要求:

1. 运行程序输出第一级菜单

2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单

3. 返回上一级菜单和顶部菜单

4. 菜单数据保存在文件中"

实现代码:

#准备一个三级菜单

menu_list = {"甘肃":{"兰州":{"城关区":{1:"甘肃地质博物馆",
                                         2:"地球厅",
                                         3:"矿物岩石厅"},
                              "七里河区":{1:"兰州碑林",
                                           2:"碑轩",
                                           3:"碑亭"},
                              "西固区":{1:"五一山生态旅游区",
                                         2:"合欢",
                                         3:"水杉",
                                         4:"枇杷"},
                              "红古区":{1:"白塔山公园",
                                         2:"象皮鼓",
                                         3:"青铜钟",
                                         4:"紫荆树",}
                            },
                      "敦煌":{"沙州镇":{"敦煌莫高窟":"5A",
                                         "鸣沙山-月牙泉风景名胜区":"4A",
                                         "阳关遗址":"4A",},
                              "肃州镇":{"甘肃敦煌雅丹国家地质公园":"4A",
                                         "白马塔":"1A"},
                            },
                   },
             "宁夏":{"中卫市":{"中宁":{"美食":"臊子面",
                                         "景点":"双龙寺",
                                         "特产":"枸杞",},
                                "中卫":{"美食":"馓子",
                                         "景点":"沙坡头",
                                         "特产":"羊皮筏子",},
                          },
                      "吴忠":{"利通区":{1:"柴园村",
                                         2:"李园村",
                                         3:"石佛寺村"},
                               "青铜峡市":{1:"刘碱滩村",
                                            2:"洼路沟村",
                                            3:"二道桥村"},
                               "盐池县":{1:"杨岔村",
                                          2:"吴家桥村",
                                          3:"郭家桥村",
                                          4:"刘家湾村",},
                               "同心县": {1:"山水沟村",
                                          2:"清水沟村",
                                          3:"涝河桥村",
                                          4:"马家湾村",},
                        },
                      "银川":{"银川市":{1:"海宝塔",
                                         2:"华夏西部影视城",
                                         3:"纳家户清真寺",
                                         4:"中大寺和南关清真大寺",},
                              "西夏区":{"景区":"西夏王陵"},
                            },
                },
        }
#一个死循环,为的是能反复输入,直到输入q退出
while True:
    index = 0
    for i in menu_list.keys():
        print(str(index) + ":", i)
        index += 1

    oper = str(input("province>:"))

    if oper == "q":   #判断是否退出
        exit()
    elif oper not in menu_list.keys():  #判断输入是否合规
        print("输入内容不存在,请重新输入!")
    else:
        one = menu_list[oper]
        print("***************************************")

        while True:   #进入二级菜单
            index = 0
            for i in one.keys():
                print(str(index) + ":", i)
                index += 1

            oper = str(input("city>:"))

            if oper == "q": #是否退出判断
                exit()
            elif oper == "b": #是否返回一级菜单
                break
            elif oper not in one.keys():
                print("输入内容不存在,请重新输入!")
            else:
                two = one[oper]
                print("***************************************")

                while True: #进入三级菜单
                    index = 0
                    for i in two.keys():
                        print(str(index) + ":", i)
                        index += 1

                    oper = str(input("area>:"))

                    if oper == "q":
                        exit()
                    elif oper == "b":
                        break
                    elif oper not in two.keys():
                        print("输入内容不存在,请重新输入!")
                    else:
                        print(two[oper])
                        print("***************************************")
时间: 2024-10-31 01:24:13

python学习-字典1的相关文章

python学习     字典

Python学习   字典 1)字典的了解 1.    字典是python中唯一的映射类型(哈希表) 2.    字典对象时可变的,但是字典的键必须使用不可变对象,并且在一个字典中可以使用不同的类型的键值. 3.    keys()或者是values()返回列表中或者值列表 4.    items()返回包含键值对应的元祖 1)  定义字典的方法和使用方法 1.字典名={key:values,key1:values1} 2.取值时: 字典名[key](取出与key相对应的values) 3.可以

Python学习字典.基础三

元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组中要定义的元组中只有一个元素需要再元素后面加逗号,用来消除数学歧义.例 t=(1,) 字典 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}中. 键必须是唯一的,但值则不必(只可以取任何数据类型,但键必须不可变) 例子: #coding=utf-8 #!/usr/bin/python student={1:'ja',2:'qw'

Python学习—字典

Python中的图--字典 字典是另一种可变容器模型,且可存储任意类型对象.字典的每个键值对key-value对用冒号:分割,每个对之间用逗号,分割,整个字典包括在花括号{}中,键必须是唯一的,但值则不必.值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组,列表集合就不可以. 1.创建字典 变量名 = {字典元素} >>> dict = {'AA':'001','BB':'002','CCC':3,4:4} >>> dict {'AA': '001', 'B

python学习-字典的增删改查

1 dic1 = {'name':'paoche', 2 'age':19, 3 'active':['beijing','hebei'], 4 'id':{'wangyi':'skmdod008b', 5 'sina':'skmdod00bc' 6 } 7 } 一.字典的增 方法1:直接新增键值对,若无此键则新增键值对,有此键则修改值 1 dic1['high'] = 180 #没有键值对,则追加 2 dic1['age'] = 30 #有键值,则修改 3 print(dic1) 4 "&qu

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

python学习笔记4:字典

python学习笔记4:字典 总结:字典是可变变量: 字典是不排序的,所以不能像列表,元组,字符串一样,切片 1.定义字典dict  --花括号{},字典的只是key-value形式 比如:stu={'name':'zhangying','age':18,'score'=99} 2.key取值,get()方法取值 1)dictname[key] , 取key对应的value值,如果不存在,报错 2)dictname.get(key) , 取key对应的value值,如果不存在,返回none:还可

Python学习总结之四 -- 这就是Python的字典

字典原来是这么回事儿 Python学习到现在,我们已经知道,如果想将值分组到结构中,并且通过编号对其进行引用,列表就可以派上用场.不过,今天,我们将学到一种通过名字引用值的数据结构,应该知道这种数据类型叫做映射.字典则是Python中唯一内建的映射类型,那么我们就来学习字典. 认识字典 字典是可变的,并且可以存储任意数量的Python对象.下面这个例子就是简单的字典类型: 1 phonebook={'zhangsan':'12345','lisi':'54321'} 2 print phoneb

python 学习笔记 三 字典

字典 Python的高效的key/value哈希表结构叫做"dict", dict的内容可以写成一系列的key:value对并放入{ }中, 相当于: dict = {key1:value1, key2:value2, ...}, 一个空的字典就是俩个大括号{ }. 下面是从一个空字典创建字典以及一些关键点: 数字, 字符串和元组可以作为字典的key, value可以是任何类型(包括字典). ## Can build up a dict by starting with the the

Python学习系列(五)(文件操作及其字典)

Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件 在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出,也可以指定每次read读多少字节,例如: 1 #coding:utf-8 2 fn='test1.py' 3 fp=open(fn,'r') #以读的方式打开文件,文件必须首先存在和,.文件在同一目录下py 4 print 'reading pos:',fp.tell() 5 r=fp.read(20) #