python好玩游戏的物品清单_Python学习笔记函数之小结好玩游戏的物品清单
随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
你在创建一个好玩的视频游戏。用于对玩家物品清单建模的数据结构是一个字典。其中键是字符串,
描述物品清单中的物品,值是一个整型值,说明玩家有多少该物品。例如,字典
{'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学习笔记函数之小结好玩游戏的物品清单相关推荐
- python文本进度条94页_Python学习笔记 | 实例4:文本进度条
本文为中国大学MOOC<Python语言程序设计>课程学习笔记,课程主讲:嵩天老师,练习平台:Python123,参考教材:<Python语言程序设计基础> 文本进度条-简单的 ...
- python列表和元组的应用_python学习笔记之列表(list)与元组(tuple)详解
前言 最近重新再看python的基础知识,感觉自己还是对于这些知识很陌生,需要用的时候还是需要翻书查阅,还是先注重基础吧--我要重新把python的教程阅读一遍,把以前自己忽略的部分学习,加强练习和记 ...
- python爬取基金历史净值_Python学习笔记之抓取某只基金历史净值数据实战案例
摘要:这篇Python开发技术栏目下的"Python学习笔记之抓取某只基金历史净值数据实战案例",介绍的技术点是"Python学习笔记.Python.历史净值数据.学习笔 ...
- python整数类型的表示字母_Python学习笔记之基本数据类型-Number
变量存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.因此,变量可以指定不同的数据类型,这些变量就可以存储整 ...
- python目录和文件的基本操作_python学习笔记(七)——文件和目录操作
目录和文件操作 语言只有和外部连起来操作才会实现更强大的功能,比如操作文件.数据库等,这样数据可以有一块单独存储的地方,而不是存放在内存中.更强大的是网络编程,当然这些后续都会学习.接下来学习pyth ...
- python的枚举和for循环_python学习笔记4---分支、循环、条件与枚举
表达式 表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列 >>> 1 + 1 2 >>> a = [1,2,3] & ...
- python读取html内容 dom获取_python学习笔记十三 JS,Dom(进阶篇)
JS介绍 JavaScript 是属于网络的脚本语言!JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用:JavaScript 是因特网上最流 ...
- python关系运算符可以连续使用_python学习笔记-字符串拼接关系运算符逻辑运算符...
#字符串拼接&关系运算符&逻辑运算符 print()函数 #print()函数输出时候,可以指定多个输出值之间的分隔符,参数sep='' 设置 print('a','b','c',se ...
- python用缩进来写模块_python学习笔记
一.基础简介 1.#!/usr/bin/python #!/usr/bin/python 相当于写死了 python 路径 #!/usr/bin/env python 会去环境设置寻找 python ...
最新文章
- 电子计算机说明文作文,电脑事物说明文
- Asp.Net中修改扩展名的问题
- python【数据结构与算法】剪枝策略
- gis 路径拟合算法_决策树算法十问及经典面试问题
- Winform中实现读取xml配置文件并动态配置DevExpress的RadioGroup的选项
- 关于GIT的SSH加密问题
- how tomcat works
- .Net Core 全局配置读取管理方法 ConfigurationManager
- java 如何调用static_java 关键字static详细介绍及如何使用
- python语言与c语言相比在分支结构上有什么不同,python 基础教程之语法篇章——一小时入门python__对比python与C语言的语法异同...
- windows下通过adb shell进入data目录
- 分析 Python 脚本
- Tornado-Secure cookie and Session
- CNC:CNC计算机数控系统技术之斯沃数控仿真软件简介、软件界面(顶部栏、中间工具栏、左边栏、CNC工作区、液晶屏工作区、系统控制面板)之详细攻略
- 电压跟随器的作用及特点
- 西工大机考《 ERP原理及应用》大作业网考
- 9月20日科技资讯|余承东硬刚 iPhone11;苹果推送正式版 iOS 13;php-nsq 3.4.3 线上稳定版发布
- JAVA中如何解决超卖,Redis解决库存超卖问题实例讲解
- 你需要明白的索引和约束的前缀(AK,PK,IX,CK,FK,DF,UQ)
- iOS 真机调试 No profile for team xxxx matching xx found
热门文章
- 计算机音乐谱安娜的橱窗,《安娜的橱窗,钢琴谱》2,封茗囧菌(五线谱 钢琴曲 指法)-弹吧|蛐蛐钢琴网...
- 漫反射:兰伯特和半兰伯特
- java运行时加音乐_Java运行窗体/程序添加自定义背景音乐
- 面试经历---广东耶萨智能科技股份有限公司(2016年01月11日上午面试)
- mac 下安装 Crypto
- 华为4G无线路由器测试锁频软件,华为4g无线路由器 新款E5375路由器测试
- 召集令 | 2021奖金加码的“硬核”港科百万创赛又来了!
- 在深度学习模型的优化上,梯度下降并非唯一的选择
- 来广州找工作有一个多月了,今天终于有着落了,工资7000
- windows与ipad互联传文件