1 #!/usr/bin/env python3.5

2 #coding:utf-8

3 #5.6.1

4 #好玩游戏的物品清单

5 #给定一个字典,包含物品名称和数量,并打印出数量对应的物品

6

7 dict_stuff = {"rope":1,"torch":6,"gold coin":42,"dagger":1,"arrow":12}8 print("5.6.1参考答案")9 print("=" * 80)10 print("给定字典:",dict_stuff)11 print("运行结果:")12 defdisplayInventory(inventory):13 print("Inventory:")14 item_total =015 for k,v ininventory.items():16 print(str(v) + " " +k)17 item_total +=v18 print("Total number of items:" +str(item_total))19 displayInventory(dict_stuff)20 print("=" * 80)21 print()22

23 #5.6.2

24 #将给定的列表添加到字典中去,并统计相同键对应的数量,最后统计总字典中值的总数

25 dragonLoot = ["gold coin","dagger","dagger","gold coin","gold coin","ruby","ruby"]26

27 print("5.6.2参考答案")28 print("=" * 80)29 inv = {"gold coin":42,"rope":1}30 print("给定列表:",dragonLoot)31 print("给定字典:",inv)32 print("运行结果:")33

34 #按照SWI的思路,这里可以2种方法:

35 #1是将列表转换成字典再操作

36 #2是用setdefault方法将列表元素加到字典再进行元素个数的自增

37 #在此感谢SWI的指点斧正。

38

39 defaddToInventory(inventory,addedItems):40 for item inaddedItems:41 inventory.setdefault(item,0)42 inventory[item] += 1

43 returninventory44 inv =addToInventory(inv,dragonLoot)45 print(inv)46 displayInventory(inv)47 print("=" * 80)

程序运行结果如下:

(py35env) frank@ThinkPad:py_fas$ python dict_inventory-5.py

5.6.1参考答案

================================================================================

给定字典: {"arrow": 12, "gold coin": 42, "dagger": 1, "rope": 1, "torch": 6}

运行结果:

Inventory:

12arrow

42gold coin

1dagger

1rope

6torch

Total number of items:62

================================================================================

5.6.2参考答案

================================================================================

给定列表: ["gold coin", "dagger", "dagger", "gold coin", "gold coin", "ruby", "ruby"]

给定字典: {"rope": 1, "gold coin": 42}

运行结果:

{"ruby": 2, "dagger": 2, "rope": 1, "gold coin": 45}

Inventory:

2ruby

2dagger

1rope

45gold coin

Total number of items:50

================================================================================

python编程快速上手项目答案-python编程快速上手之第5章实践项目参考答案相关推荐

  1. 《Python编程快速上手——让繁琐工作自动化》第五章实践项目

    5.6.2列表到字典的函数,针对好玩游戏物品清单 def displayInventory(inventory):print("Inventory:")item_total = 0 ...

  2. Python 第8章课后习题参考答案

    第8章课后习题参考答案 一.单项选择题 用于读写Excel文件的第三方库是______. D A. request B. python_doc C. Numpy D. openPyXL 删除所有学生表 ...

  3. 解释下列术语计算机系统结构,计算机系统结构第5章部分习题参考答案

    第5章部分习题参考答案 5.1 解释下列术语 ?一次重叠-执行第K条指令与分析第K+1条指令在时间上重叠.这是最简单的重 叠方式. ?单功能流水线-只能完成一种运行或处理功能的流水线. ?多功能流水线 ...

  4. 量纲对回归结果的影响_应用回归分析-第3章课后习题参考 答案.doc

    应用回归分析-第3章课后习题参考 答案 第3章 多元线性回归 思考与练习参考答案 3.1 见教材P64-65 3.2 讨论样本容量n与自变量个数p的关系,它们对模型的参数估计有何影响? 答:在多元线性 ...

  5. 《统计学习导论:基于R应用》第2章课后习题参考答案

    [第2章课后习题参考答案] Chapter 2 Exercise 1. (a) better - a more flexible approach will fit the data closer a ...

  6. 计算机课第一章答案,计算机应用基础第一章课后习题参考答案答案

    计算机应用基础第一章课后习题参考答案答案 第1章 课后习题 一.简答题: 1.电子计算机的发展大致可分哪几代?请说出各个时代电子计算机的特点. 1. 第一代电子计算机 第一代电子计算机是电子管计算机, ...

  7. 《统计学习导论:基于R应用》第3章课后习题参考答案

    [第3章课后习题参考答案] Chapter 3 Exercise 1. In Table 3.4, the null hypothesis for "TV" is that in ...

  8. c语言程序设计方法及在线实践课后答案,c语言程序设计实践习题参考答案(西南师范大学出版社).doc...

    附录 习题参考答案 ※ 2.4 设计性实验中的(3)小题参考答案 //用户登录程序 #include "stdio.h" #include "string.h" ...

  9. 第13章实践项目:定制邀请函,保存为 Word 文档

    #第十三章实践项目:定制邀请函,保存为 Word 文档 #可以单独设置字体doc.paragraphs[i].style.font.name = 'Harlow Solid Italic' #docx ...

最新文章

  1. Eclipse安装GoClipse
  2. pandas基础(part5)--透视表与交叉表
  3. JAVA类思维_面向对象思维 Java中的类和对象及其应用
  4. 十项全能的java大神
  5. mybatis log4j2配置
  6. asp 不能读取mysql 长文本文件,从文本文件中读取信息并存储入数据库_asp技巧
  7. 实数基本定理的等价证明
  8. uva-10341-二分法
  9. 【Computer Organization笔记07】实验课:可编程逻辑器件介绍,硬件编程方法与原则,硬件编程流程
  10. 修炼成QTP高手的十个步骤
  11. 回顾 | Apache Flink 1.9 版本新特性强势预告!(内含PPT下载链接)
  12. 可以免费下载任何文档(网页转换助手)
  13. 正向代理和反向代理的区别
  14. 铁路cj继电器_铁路信号继电器简介讲解
  15. python神经网络包_python 神经网络包 NeuroLab
  16. 魏巍专访丨合作半年拓客100+,他是如何做到的?
  17. Python numpy nonzero 取矩阵中非零元素的下标
  18. https://是什么?HTTPS和HTTP有什么不一样?如何申请SSL(HTTPS)证书?
  19. android手机系统对比,国产手机系统哪家强?几大主流手机系统盘点对比
  20. nacos启动报错解决方法

热门文章

  1. GPE监控预警系统搭建--Grafana+Prometheus+Exporter
  2. 有什么免费的桌面整理工具比较好用?推荐一下
  3. Android APP 自动更新实现(适用Android9.0)
  4. 本质安全设备标准(IEC60079-11)的理解(四)
  5. 联想e470加装固态硬盘_DIY之Thinkpad E470升级记
  6. CAN FD 协议联网和测试
  7. 项目管理十大知识领域(六)--- 项目人力资源管理(过程、输入、工具和技术、输出)
  8. [Luogu4230]连体病原体
  9. 如何向phpMyAdmin中批量导入excel表格数据
  10. C++-proto文件