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:北方都下雪了,朋友圈里各种秀雪景,深圳却是滴滴答答的雨下个不停,也不错哦!
帘外雨潺潺由此而来。