python实践项目三:将列表添加到字典
1、创建一个字典,其中键是字符串,描述一个物品,值是一个整型值,说明有多少该物品。例如,字典值{'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12}意味着有 1 条绳索、 6 个火把、 42 枚金币等。
2、写一个名为 displayInventory()的函数,显示出字典中所有物品及其数量,并统计出总数量
3、写一个名为 addToInventory(inventory, addedItems)的函数, 其中 inventory 参数是一个字典, 存储物品清单, addedItems 参数是一个列表,存储需要更新的物品。addToInventory()函数应该返回一个字典,表示更新过后的物品清单。
代码一:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#打印字典
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 k in addItems:
if k in inventory.keys():
inventory[k]+=1
else:
inventory[k]=1
return inventory #初始字典
inv={'gold coin':42,'rope':1}
#需要添加的列表
dragonLoot=['gold coin','dagger','gold coin','gold coin','ruby']
#将列表添加到字典
inv=addToInventory(inv,dragonLoot)
#显示更新后的字典
displayInventory(inv)
显示结果:

代码二(实现同样功能):
#!/usr/bin/python
# -*- coding: UTF-8 -*-
def displayInventory(inven):
print "Inventory:"
item_total=0
for k,v in inven.items():
print str(v)+" "+k
item_total+=v
print "Total number of the items: "+str(item_total) def addListToInventory(inven,addedItems):
for i in range(len(addedItems)):
if addedItems[i] in inven.keys():
inven[addedItems[i]]+=1
else:
inven.setdefault(addedItems[i],1)
return inv
inv={'gold coin':42,'rope':1}
addedList=['gold coin','dagger','gold coin','gold coin','ruby']
inv=addListToInventory(inv,addedList)
displayInventory(inv)
运行结果:

python实践项目三:将列表添加到字典的更多相关文章
- python实践项目二:列表转字符串
将列表各元素转换为字符串并以规定形式返回. 假定有下面这样的列表:spam = ['apples', 'bananas', 'tofu', 'cats'],将其转换成字符串:'apples, bana ...
- android 实践项目三
android 实践项目三 本周我主要完成的任务是将代码进行整合,然后实现百度地图的定位与搜索功能.在这次实现的 图形界面如下: 在本周的工作中主要的实现出来定位与收索的功能,在地图中能实现了定位,显 ...
- python 实践项目
项目一:让用户输入圆的半径,告诉用户圆的面积 思路: 1.首先需要让用户输入一个字符串,即圆的半径 2.判断用户输入的字符串是否为数字 isalpha 3.求圆的面积需要调用到math模块,所以要导 ...
- python入门(三)列表、元组、range()、字典
列表(list) 列表简介:列表(list)是处理一组有序项目的数据结构.用方括号[]表示.可以进行添加,删除,替换,搜索操作.是可变的数据类型.列表可以嵌套和支持索引. name=[12," ...
- Python实践项目2
#南昌理工学院人工智能学院实验室WORKSHOP实践项目 import time import random SCRIPT_NPC_SCHOOL_SISTER = ['你好!', '你好!', '你是 ...
- python实践项目1
python #南昌理工学院人工智能学院实验室 WORKSHOP 实践项目 import time print('welcome to our WORKSHOP') print('.......... ...
- 第4.4节 Python解析与推导:列表解析、字典解析、集合解析
一. 引言 经过前几个章节的介绍,终于把与列表解析的前置内容介绍完了,本节老猿将列表解析.字典解析.集合解析进行统一的介绍. 前面章节老猿好几次说到了要介绍列表解析,但老猿认为涉及知识层面比较多 ...
- Python:从入门到实践--第三章--列表简介--练习
#1.将一些朋友的姓名存储在一个列表中,并将其命名为friends.依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来. #2.继续使用1中的列表,为每人打印一条消息,每条消息包含相同的问候语 ...
- python基础(三)--列表、元组、字典
一.列表: 有序序列,支持索引.切片.循环(for,while) 元素可以被修改: 元素可以是任何数据类型(数字,字符串,列表,布尔值...),可以嵌套: ##增 1.append(object) ...
随机推荐
- Spring中的applicationContext文件详解
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 做阉割版Salesforce难成伟大的TOB企业
https://www.lieyunwang.com/archives/446227 猎云注:当前中国市场环境下,有没有可能诞生一批SaaS级企业服务公司?东方富海合伙人陈利伟用三个方面基础性问题解答 ...
- MySQL 日期格式化,取年月日等相关操作
日期取年.月.日 select id, phone,time,year(time),month(time), DAY(time),TIME(time) from user where phone='x ...
- etcd增删改查
,并且可能有不止一 ...
- 洛谷 P3385 【模板】负环 题解
P3385 [模板]负环 题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 寻找一个从顶点1所能到达的负环,负环定义为:一个边权之和为负的环. 输入格式 第一行一个正整数T ...
- Pandas的基本用法
Pandas是使用python进行数据分析不可或缺的第三方库.我们已经知道,NumPy的ndarray数据结构能够很好地进行数组运算,但是当我们需要进行为数据添加标签,处理缺失值,对数据分组,创建透视 ...
- [BZOJ1191]超级英雄Hero
Description 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的 多少获得不同数目的奖品或奖金.主持人问题准备了若干道题目,只有当选手正确 ...
- 百度编辑器(ueditor)踩坑,图片转存无法使用
在使用 百度编辑器 的过程中碰到了一些问题,图片转存功能无法使用, 即便是疯狂地在官方 Demo.文档.论坛甚至是 GitHub 上也没找到理想的答案.(┗|`O′|┛) (真是日了狗) 问题描述 默 ...