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)

运行结果:

最新文章

  1. MyBatis基础入门--知识点总结
  2. iOS Crash日志
  3. android 悬浮覆盖状态栏的相关建议
  4. div各种距离 详细解释图
  5. 票据OCR前预处理 (附Demo)
  6. 普通session vs MemcachedSession vs RedisSession
  7. frequentism-and-bayesianism-chs-iv
  8. C51 的重入问题 WARNING L15: MULTIPLE CALL TO SEGMENT
  9. Spring.NET 的IOC(依赖注入)
  10. 2019-04-15 Python中的面向对象学习总结
  11. MySQL慢查询日志配置方式 slow_query_log
  12. 写jquery插件(转载)
  13. 即将上线的Kafka 集群(用CM部署的)无法使用“--bootstrap-server”进行消费,怎么破?
  14. 11月28日 记录一个错误❌,看ruby on rails --active support core extensions--present? && presence && duplicable?
  15. web(三)html标签
  16. 通过PropertyDescriptor反映射调用set和get方法
  17. RabbitMQ Headers Exchange示例
  18. 不要用for in语句对数组进行遍历
  19. pip安装的python扩展模块自定义目录
  20. Python3.6(windows系统)通过pip安装bs4

热门文章

  1. LeetCode 787. Cheapest Flights Within K Stops
  2. 关于System.BadImageFormatException
  3. 洛谷 P4071 [SDOI2016]排列计数 题解
  4. 《RabbitMQ 实战》读书笔记
  5. 62、Spark Streaming:容错机制以及事务语义
  6. 【luoguP1414]】又是毕业季II
  7. GoCN每日新闻(2019-10-19)
  8. C Primer Plus--C预处理器和C库(1)
  9. 平安银行Java面试-社招-五面(2019/09)
  10. TP5验证码上传阿里云万网虚拟主机后,验证码不显示的解决办法