Python学习笔记(一)—第三天(好玩游戏物品清单)

  第一篇文章,今天是学习Python的第三天,学到了字典的相关知识,因为基础薄弱,估计算是相当慢了吧。

列表到字典的函数——好玩游戏物品清单

假设政府一条龙的战利品表示为这样的字符串列表:

dragonLoot = ['gold coin','dagger','gold coin','gold coin','ruby']

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

addToInventory}()函数应该返回一个字典,表示更新过的物品清单。列表可以包含多个同样的项。

将输出如下:

inventory:
45 gold coin
1 rope
1 dagger
1 ruby
Total number of item: 48

代码如下:

 1 def displayInventory(inventory): #展示背包
 2     print('inventory:')
 3     item_total = 0
 4     for k,v in inventory.items():
 5         print (str(v)+' '+k)
 6         item_total += v
 7         
 8     print ("Total number of item: " + str(item_total))
 9 
10 def addToInventory(inventory,addedItems): #更新背包
11     
12     for i in range(len(addedItems)):    #列表循环
13         if addedItems[i] not in inventory:        
14             inventory.setdefault(addedItems[i],1)            #字典里原来不存在的物品,新增对应的key以及value=1
15         else:
16             inventory[addedItems[i]] += 1                    #字典里已经存在的,则value+1        
17     return inventory
18     
19 inv = {'gold coin':42,'rope':1}    #初始背包
20 dragonLoot = ['gold coin','dagger','gold coin','gold coin','ruby']    #Boss掉落的物品列表
21 inv = addToInventory(inv,dragonLoot)   #更新后的背包
22 displayInventory(inv)    

输出的结果正确。

  因为刚刚开始学习Python,仅仅这几行写得都比较吃力了。现在写得应该还很稚嫩,等以后熟悉了,再回头看看,是否可以优化。

PS:北方都下雪了,朋友圈里各种秀雪景,深圳却是滴滴答答的雨下个不停,也不错哦!

帘外雨潺潺由此而来。

posted on 2018-01-06 21:14  帘外雨潺潺  阅读(1207)  评论(2编辑  收藏  举报

导航