元组与字典习题(3)

任务描述

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

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

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

相关知识

遍历字典中的键-值对

Python为字典类型提供了items()方法,items()方法会将字典里的所有的键与值一起返回,

例如,餐馆有一个菜单包含了菜名和价格信息。菜名和价格顾客都需要知道,可以通过遍历输出menu字典的键和值来实现。

 
  1. #coding = utf-8
  2. # 创建并初始化menu菜单字典
  3. menu={'fish':'40','pork':'30','potato':'20','lamb':'50'}
  4. # 利用items()方法遍历输出键和值
  5. for key,value in menu.items():
  6. print('\nkey:'+key)
  7. print('value:'+value)

输出结果:

 
  1. key:fish
  2. value:40
  3. key:pork
  4. value:30
  5. key:potato
  6. value:20
  7. key:lamb
  8. value:50

输出结果表示,items()方法每次都将对应的键和值指定到keyvalue变量中,然后用for循环输出。

遍历字典中的键

对于餐馆中的厨师来说,他们并不想要知道菜的价格,只需要知道菜名然后将其做出来就行。所以对于厨师来说,我们需要遍历menu字典中的所有菜名。

Python为字典类型内置了keys()方法,该方法会将字典里的遍历出来,例如:

 
  1. # 创建并初始化menu菜单字典
  2. menu={'fish':'40','pork':'30','potato':'20','lamb':'50'}
  3. # 利用keys()方法遍历输出键
  4. for key in menu.keys():
  5. print('food_name:'+key)

输出结果: food_name:fish food_name:pork food_name:potato food_name:lamb

输出结果表示,keys()方法每次都是将menu菜单中的输出,显示菜名。

遍历字典中的值

对于餐馆中的收银员来说,他们可能并不想知道菜单的菜名,只需要知道菜的价格然后收账即可。所以对于收银员来说,我们需要遍历menu字典中的所有菜的价格。

Python为字典类型内置了values()方法,该方法会将字典里的值遍历出来,例如:

 
  1. # 创建并初始化menu菜单字典
  2. menu={'fish':'40','pork':'30','potato':'20','lamb':'50'}
  3. # 利用values()方法遍历输出值
  4. for value in menu.values():
  5. print('food_price:'+value)

输出结果: food_price:40 food_price:30 food_price:20 food_price:50

输出结果表示,values()方法每次都是将menu菜单中的输出,显示菜的价格。

如果您想了解更多有关字典使用知识,请参考:【美】Eric Matthes著《Python编程——从入门到实践》第六章。

编程要求

本关的编程任务是补全src/Step3/key-values.py文件的代码,实现相应的功能。具体要求如下:

  • menu_dict菜单的键遍历输出;

  • menu_dict菜单的值遍历输出;

本关涉及的代码文件src/Step3/key_values.py的代码框架如下:

 
  1. # coding=utf-8
  2. # 创建并初始化munu_dict字典
  3. menu_dict = {}
  4. while True:
  5. try:
  6. food = input()
  7. price = int(input())
  8. menu_dict[food]= price
  9. except:
  10. break
  11. #请在此添加代码,实现对menu_dict的遍历操作并打印输出键与值
  12. ###### Begin ######
  13. ####### End #######

测试说明

本关的测试文件是src/Step3/key_values.py,测试过程如下:

  1. 平台自动编译并运行key_values.py,并以标准输入方式提供测试输入;

  2. 平台获取程序输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。

以下是平台对src/Step3/key_values.py的样例测试集:

测试输入:

 
  1. Spring Rolls
  2. 40
  3. pork
  4. 30
  5. Fried Wonton
  6. 15

预期输出:

 
  1. Spring Rolls
  2. pork
  3. Fried Wonton
  4. 40
  5. 30
  6. 15

开始你的任务吧,祝你成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值