python实践项目三:将列表添加到字典
2024-08-20 22:31:57
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)
运行结果:
最新文章
- MyBatis基础入门--知识点总结
- iOS Crash日志
- android 悬浮覆盖状态栏的相关建议
- div各种距离 详细解释图
- 票据OCR前预处理 (附Demo)
- 普通session vs MemcachedSession vs RedisSession
- frequentism-and-bayesianism-chs-iv
- C51 的重入问题 WARNING L15: MULTIPLE CALL TO SEGMENT
- Spring.NET 的IOC(依赖注入)
- 2019-04-15 Python中的面向对象学习总结
- MySQL慢查询日志配置方式 slow_query_log
- 写jquery插件(转载)
- 即将上线的Kafka 集群(用CM部署的)无法使用“--bootstrap-server”进行消费,怎么破?
- 11月28日 记录一个错误❌,看ruby on rails --active support core extensions--present? &;&; presence &;&; duplicable?
- web(三)html标签
- 通过PropertyDescriptor反映射调用set和get方法
- RabbitMQ Headers Exchange示例
- 不要用for in语句对数组进行遍历
- pip安装的python扩展模块自定义目录
- Python3.6(windows系统)通过pip安装bs4
热门文章
- LeetCode 787. Cheapest Flights Within K Stops
- 关于System.BadImageFormatException
- 洛谷 P4071 [SDOI2016]排列计数 题解
- 《RabbitMQ 实战》读书笔记
- 62、Spark Streaming:容错机制以及事务语义
- 【luoguP1414]】又是毕业季II
- GoCN每日新闻(2019-10-19)
- C Primer Plus--C预处理器和C库(1)
- 平安银行Java面试-社招-五面(2019/09)
- TP5验证码上传阿里云万网虚拟主机后,验证码不显示的解决办法