随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

你在创建一个好玩的视频游戏。用于对玩家物品清单建模的数据结构是一个字典。其中键是字符串,

描述物品清单中的物品,值是一个整型值,说明玩家有多少该物品。例如,字典

{'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12}

#------------------------------------------------我是可耻的分割线-------------------------------------------

1、物品清单,示例代码:

#

# -*- coding:utf-8 -*-

# Autor: Li Rong Yang

#物品清单

stuff = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12}

#定义一个函数接收物品清单

def displayInventory(inventory):

print('Inventory:')#打印提示

item_total = 0#计数初始化

for k,v in inventory.items():#循环该字典

print(str(v)+' '+k)#打印该字典的值和键

item_total +=v#把字典的值相加

print('Total number of items: '+str(item_total))#打印字典值的总数

displayInventory(stuff)

运行结果:

2、列表到字典的函数,示例代码:

假设征服一条龙的战利品表示为这样的字符串列表:dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']

写一个名为 addToInventory(inventory, addedItems)的函数,其中 inventory 参数是一个字典,表示玩家的物品清单(

像前面项目一样),addedItems 参数是一个列表,就像 dragonLoot。

def addToInventory(inventory,addItems):

for i in addItems:#判断杀龙所得物品是否在物品清单中

if i in inventory:#如果在物品清单中

inventory[i] +=1#把物品清单中值加一

else:#否则

inventory.setdefault(i,1)#添加该物品到物品清单中,并初始值为1

return inventory#返回合并后的物品清单

inv = {'gold coin': 42, 'rope': 1}#原有物品清单

dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']#杀龙所得物品

#inv = addToInventory(inv, dragonLoot)

print(addToInventory(inv, dragonLoot))#函数调用

运行结果:

3、和前面的displayInventory()函数,同时使用:

#定义一个函数接收物品清单

def displayInventory(inventory):

print('Inventory:')#打印提示

item_total = 0#计数初始化

for k,v in inventory.items():#循环该字典

print(str(v)+' '+k)#打印该字典的值和键

item_total +=v#把字典的值相加

print('Total number of items: '+str(item_total))#打印字典值的总数

#定义一个函数接收物品清单和杀龙所得物品

def addToInventory(inventory,addItems):

for i in addItems:#判断杀龙所得物品是否在物品清单中

if i in inventory:#如果在物品清单中

inventory[i] +=1#把物品清单中值加一

else:#否则

inventory.setdefault(i,1)#添加该物品到物品清单中,并初始值为1

return inventory#返回合并后的物品清单

inv = {'gold coin': 42, 'rope': 1}#原有物品清单

dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']#杀龙所得物品

inv = addToInventory(inv, dragonLoot)

displayInventory(inv)

运行结果:

python好玩游戏的物品清单_Python学习笔记函数之小结好玩游戏的物品清单相关推荐

  1. python文本进度条94页_Python学习笔记 | 实例4:文本进度条

    本文为中国大学MOOC<Python语言程序设计>课程学习笔记,课程主讲:嵩天老师,练习平台:Python123,参考教材:<Python语言程序设计基础> 文本进度条-简单的 ...

  2. python列表和元组的应用_python学习笔记之列表(list)与元组(tuple)详解

    前言 最近重新再看python的基础知识,感觉自己还是对于这些知识很陌生,需要用的时候还是需要翻书查阅,还是先注重基础吧--我要重新把python的教程阅读一遍,把以前自己忽略的部分学习,加强练习和记 ...

  3. python爬取基金历史净值_Python学习笔记之抓取某只基金历史净值数据实战案例

    摘要:这篇Python开发技术栏目下的"Python学习笔记之抓取某只基金历史净值数据实战案例",介绍的技术点是"Python学习笔记.Python.历史净值数据.学习笔 ...

  4. python整数类型的表示字母_Python学习笔记之基本数据类型-Number

    变量存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.因此,变量可以指定不同的数据类型,这些变量就可以存储整 ...

  5. python目录和文件的基本操作_python学习笔记(七)——文件和目录操作

    目录和文件操作 语言只有和外部连起来操作才会实现更强大的功能,比如操作文件.数据库等,这样数据可以有一块单独存储的地方,而不是存放在内存中.更强大的是网络编程,当然这些后续都会学习.接下来学习pyth ...

  6. python的枚举和for循环_python学习笔记4---分支、循环、条件与枚举

    表达式 表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列 >>> 1 + 1 2 >>> a = [1,2,3] & ...

  7. python读取html内容 dom获取_python学习笔记十三 JS,Dom(进阶篇)

    JS介绍 JavaScript 是属于网络的脚本语言!JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用:JavaScript 是因特网上最流 ...

  8. python关系运算符可以连续使用_python学习笔记-字符串拼接关系运算符逻辑运算符...

    #字符串拼接&关系运算符&逻辑运算符 print()函数 #print()函数输出时候,可以指定多个输出值之间的分隔符,参数sep='' 设置 print('a','b','c',se ...

  9. python用缩进来写模块_python学习笔记

    一.基础简介 1.#!/usr/bin/python #!/usr/bin/python 相当于写死了 python 路径 #!/usr/bin/env python 会去环境设置寻找 python ...

最新文章

  1. 电子计算机说明文作文,电脑事物说明文
  2. Asp.Net中修改扩展名的问题
  3. python【数据结构与算法】剪枝策略
  4. gis 路径拟合算法_决策树算法十问及经典面试问题
  5. Winform中实现读取xml配置文件并动态配置DevExpress的RadioGroup的选项
  6. 关于GIT的SSH加密问题
  7. how tomcat works
  8. .Net Core 全局配置读取管理方法 ConfigurationManager
  9. java 如何调用static_java 关键字static详细介绍及如何使用
  10. python语言与c语言相比在分支结构上有什么不同,python 基础教程之语法篇章——一小时入门python__对比python与C语言的语法异同...
  11. windows下通过adb shell进入data目录
  12. 分析 Python 脚本
  13. Tornado-Secure cookie and Session
  14. CNC:CNC计算机数控系统技术之斯沃数控仿真软件简介、软件界面(顶部栏、中间工具栏、左边栏、CNC工作区、液晶屏工作区、系统控制面板)之详细攻略
  15. 电压跟随器的作用及特点
  16. 西工大机考《 ERP原理及应用》大作业网考
  17. 9月20日科技资讯|余承东硬刚 iPhone11;苹果推送正式版 iOS 13;php-nsq 3.4.3 线上稳定版发布
  18. JAVA中如何解决超卖,Redis解决库存超卖问题实例讲解
  19. 你需要明白的索引和约束的前缀(AK,PK,IX,CK,FK,DF,UQ)
  20. iOS 真机调试 No profile for team xxxx matching xx found

热门文章

  1. 计算机音乐谱安娜的橱窗,《安娜的橱窗,钢琴谱》2,封茗囧菌(五线谱 钢琴曲 指法)-弹吧|蛐蛐钢琴网...
  2. 漫反射:兰伯特和半兰伯特
  3. java运行时加音乐_Java运行窗体/程序添加自定义背景音乐
  4. 面试经历---广东耶萨智能科技股份有限公司(2016年01月11日上午面试)
  5. mac 下安装 Crypto
  6. 华为4G无线路由器测试锁频软件,华为4g无线路由器 新款E5375路由器测试
  7. 召集令 | 2021奖金加码的“硬核”港科百万创赛又来了!
  8. 在深度学习模型的优化上,梯度下降并非唯一的选择
  9. 来广州找工作有一个多月了,今天终于有着落了,工资7000
  10. windows与ipad互联传文件