5.6.2列表到字典的函数,针对好玩游戏物品清单

def displayInventory(inventory):print("Inventory:")item_total = 0  # 物品总数储存在变量item_total中,起始值为0# 遍历inventory里的键值,并分别用变量k、v储存for k, v in inventory.items():print(str(v) + ' ' + k)  # 打印“值  键”即“数量 物品”item_total += v  # 把所有键的值相加,即所有物品的数量相加print('Total number of items:' + str(item_total))
# # 第一个参数是玩家当前的物品清单(字典),第二个参数是要加进去的战利品清单(列表)
def addToInventory(inventory, addedItems):for loot in dragonLoot:  # for循环遍历打龙得到的战利品清单inv.setdefault(loot, 0)  #  注意第二个参数初始为0inv[loot] += 1  #遍历战利品清单列表,每遍历到一个物品则在该物品数量上+1

第二个函数里刚好可用到5.1.5的setdefault()方法,如果玩家之前的物品清单里没有即将要加进去的某个物品(即dragonLoot列表里的某个表项在inventory字典里没有相应的键),则可调用setdefault()方法先判断其不在玩家的物品清单(字典)中然后新设置一个键-值(键即为新物品,值一般情况下为0),再进行后面的物品数量累加的操作.

# 建立一个玩家物品清单(字典),一个打龙的战利品清单(列表)
inv = {'gold coin': 42, 'rope': 1}
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
# 先调用addToInventory函数来更新玩家物品清单,再调用displayInventory函数展示更新后的物品清单
addToInventory(inv, dragonLoot)
displayInventory(inv)

先mark一下自己目前最新的练习进度吧,之前的三四章实践项目,之后有空再po

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

  1. 《python编程快速上手 让繁琐工作自动化》第一章习题答案

    1.*,-,/,+是操作符:'hello',-88.8是值 2.spam变量,'spam'值 3.整型.浮点型.字符串 4.表达式包含值和操作符,作用:求值(归约)为单个值 5.赋值语句将值保存在变量 ...

  2. Python编程快速上手 让繁琐工作自动化 | 第三章 :实践项目

    本题来自 1.Collatz 序列 编写一个名为 collatz()的函数,它有一个名为 number 的参数.如果参数是偶数,那么 collatz()就打印出 number // 2,并返回该值.如 ...

  3. 导入python标准数学函数模块的语句_《Python编程快速上手——让繁琐工作自动化》——2.8 导入模块...

    本节书摘来自异步社区<Python编程快速上手--让繁琐工作自动化>一书中的第2章,第2.8节,作者[美] Al Sweigart,王海鹏 译,更多章节内容可以访问云栖社区"异步 ...

  4. 《Python编程快速上手——让繁琐工作自动化》——第一部分 Python编程基础 第1章 Python基础 1.1 在交互式环境中输入表达式...

    本节书摘来自异步社区<Python编程快速上手--让繁琐工作自动化>一书中的第1章,第1.1节,作者[美] Al Sweigart,王海鹏 译,更多章节内容可以访问云栖社区"异步 ...

  5. python快速上手 让繁琐工作自动化 英文版_入门python:《Python编程快速上手让繁琐工作自动化》中英文PDF+代码...

    入门推荐学习<python编程快速上手>前6章是python的基础知识,通俗易懂地讲解基础,初学者容易犯错的地方,都会指出来.从第三章开始,每章都有一个实践项目,用来巩固前面所学的知识. ...

  6. 《Python编程快速上手 让繁琐工作自动化》pdf

    <div id="article_content" class="article_content tracking-ad" data-mod=" ...

  7. python编程快速上手 让繁琐工作自动化 豆瓣_2019年,这些豆瓣评分9.0以上的8本程序员好书你都知道吗?...

    豆瓣这些9.0以上的高评分程序员好书你都知道有哪些吗?小编去豆瓣看了一下,推荐这8本最适用的程序员好书给你. 1.UNIX环境高级编程(第3版)(豆瓣评分9.6)UNIX编程圣经 与Linux相结合的 ...

  8. python编程快速上手自动化_《Python编程快速上手 让繁琐工作自动化》完整版PDF...

    image.png <Python编程快速上手 让繁琐工作自动化>完整版PDF 提取码:7qm4 3.jpg 有关本书 累计销售超过10万册 零基础编程者的不二之选 基于Python3编写 ...

  9. 《Python编程快速上手——让繁琐工作自动化》——2.5 控制流的元素

    本节书摘来自异步社区<Python编程快速上手--让繁琐工作自动化>一书中的第2章,第2.5节,作者[美] Al Sweigart,王海鹏 译,更多章节内容可以访问云栖社区"异步 ...

  10. 近期开通《Python编程快速上手-让繁琐工作自动化》视频教学

    <Python编程快速上手-让繁琐工作自动化>视频教学,包括课件.PDF.代码.视频.思维导图等相关内容,敬请期待.

最新文章

  1. 浏览器加载、解析、渲染的过程
  2. 华为云设计语言_《好设计,有方法:我们在搜狐做产品体验设计》 —2.2 设计语言带来的好处...
  3. xp查看计算机mac地址查询,mac地址查询,教你用dos命令查看mac地址的方法
  4. php 23种设计模型 - 组合模式(合成模式)
  5. 第三次学JAVA再学不好就吃翔(part110)--使用指定的码表读写字符
  6. 地图标绘软件_ArcGIS Pro 2.4 首次亮相,Indoors、Monitor、全新一代地图故事模板,新特性抢先看!...
  7. cpu开机就是60℃_铅锤哥:十五种电脑开机黑屏的原因与解决思路
  8. cf#401(Div. 2)B. Game of Credit Card(田忌赛马类贪心)
  9. BZOJ_2179_FFT快速傅立叶_(FFT)
  10. hdu 5233 Gunner II
  11. firefox访问页面 直接显示代码问题问题解决办法
  12. 如何在 Mac 上查找和删除重复文件?
  13. spring使用 hibernate jpa JpaRepository
  14. linux 文本编辑器Vim/Vi详细介绍
  15. FileZilla连接ubuntu主机时选择21端口无法连接
  16. Web 应用程序安全检查表
  17. 旧版macOS官方下载地址
  18. 弹性盒子 -- flex
  19. pacemaker和keepalived的区别
  20. Not Shading英语翻译

热门文章

  1. 《人类基因和基因组》学习笔记
  2. Happytime RTSP可用于流式传输各种设备和文
  3. 离散选择模型中的分散系数theta到底该放在哪里呢?
  4. Android自定义View之Paint绘制文字和线
  5. php 米转换km,米 转换
  6. Matlab中高清figure图版导出方法
  7. 《深度学习进阶 自然语言处理》第五章:RNN通俗介绍
  8. ipad上linux终端,将 iPad 看作一个终端。
  9. 快速傅里叶变换python_快速傅里叶变换及python代码实现
  10. 宏基4740g笔记本xp系统sata驱动安装