1.8字典

        字典和列表一样,都是Python中十分重要的可变容器模型,都可以存储任意类型元素。

第一关 字典的使用

  • 任务描述

        我们将以菜单的例子来说明字典使用的基本知识:

        餐馆的菜单上不仅包含菜名,菜名后面还必须包含该道菜的价格。如果要用列表实现,就需要两个列表,例如:

list_menu = ['fish','pork','potato','noodles'] list_price = [40,30,15,10]

        给定一个菜名,要查找相应的价格,就先要在list_menu中找到相应的位置,再在list_price中找到相应的价格。

        在本关中,我们将学习掌握能够将相关信息关联起来的Python字典的相关知识,并完成对包含菜名和价格的菜单的处理操作。

  • 编程要求

        1.向menu_dict字典中添加一道菜名lamb,它的价格是50

        2.获取menu_dict字典中的fish的价格并打印出来;

        3.将menu_dict字典中的fish的价格改为100

        4.删除menu_dict字典中noodles这道菜;

        5.输出新的menu_dict菜单。

  • 代码实现
# coding=utf-8

# 创建并初始化menu_dict字典
menu_dict = {}
while True:
    try:
        food = input()
        price = int(input())
        menu_dict[food]= price
    except:
        break

#请在此添加代码,实现对menu_dict的添加、查找、修改等操作,并打印输出相应的值
###### Begin ######

menu_dict['lamb'] = 50
print(menu_dict['fish'])
menu_dict['fish'] = 100
del menu_dict['noodles']
print(menu_dict)

#######  End #######

第二关 字典的遍历

  • 任务描述

   Python字典中包含大量数据,字典和列表一样,支持遍历操作。Python有多种遍历字典的方式,可以遍历字典的所有键-值对,键或值。

        例如:餐馆的菜单包含了菜名和价格等信息,餐馆需要将菜名和价格都展示给顾客,但也有些时候只需要将菜名都展示给厨师,还有些时候只需要将价格展示给收银员。这三种情况就用到了字典不同的遍历方式。

        本关的目标是掌握字典遍历的相关知识和用法,需要基于这些知识实现对菜单不同的查找和展示处理。

  • 编程要求

        1.将menu_dict菜单的键遍历输出;

        2.将menu_dict菜单的值遍历输出;

  • 代码实现
# coding=utf-8

# 创建并初始化menu_dict字典
menu_dict = {}
while True:
    try:
        food = input()
        price = int(input())
        menu_dict[food]= price
    except:
        break

#请在此添加代码,实现对menu_dict的遍历操作并打印输出键与值
###### Begin ######

for key in menu_dict.keys():
    print(key)
for value in menu_dict.values():
    print(value)

#######  End #######

第三关 嵌套

  • 任务描述

   Python的列表和字典可以存储任意类型的元素,所以我们可以将字典存储在列表中,也可以将列表存储在字典中,这种操作称为嵌套。

        例如,餐馆中的菜单不仅仅包含菜名和价格,可能还会包含很多其他信息,这时候我们可能就需要采取嵌套的存储方式。

        本关任务是利用嵌套方式存储菜单,掌握Python嵌套的基本操作。

  • 编程要求

   1.menu_total列表中初始时只包含menu1字典,menu1字典中包含两道菜和两道菜的价格;

        2.编程要求是向menu_total列表中添加另外一个菜单字典menu2menu2菜单中的菜名和menu1菜单一样,菜的价格是menu1菜的价格的2倍;

        3.输出新的menu_total列表。

  • 代码实现
#coding=utf-8

#初始化menu1字典,输入两道菜的价格
menu1 = {}
menu1['fish']=int(input())
menu1['pork']=int(input())

#menu_total列表现在只包含menu1字典
menu_total = [menu1]

# 请在此添加代码,实现编程要求
#********** Begin *********#
menu2 = {}

for key,value in menu1.items():
    menu2[key] = value*2

menu_total.append(menu2)
#********** End **********#

#输出menu_total列表
print(menu_total)

上一篇:对路由的说明(六)


下一篇:SAP BTP Kyma Runtime dashboard 打开报缺少缺陷的错误消息该如何解决