Agregar Loot a Inventario de Videojuego
Descripción
Imagina que la recompensa por derrotar a un dragón se representa con un a lista de cadenas como la siguiente:
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
Escribe una función llamada addToInventory(inventory, addedItems)
dónde el parámetro de inventory
es un diccionario que representa el inventario del jugador y el parámetro addedItems
es una lista como dragonLoot
. La función addToInventory
debe devolver un diccionario que represente el inventario actualizado después de agregar los elementos del loot adquirido. Nota que la lista addedItems
puede contener varias copias del mismo artículo.
Puedes seguir la siguiente estructura para tu código:
def addToInventory(inventory, addedItems):
# aquí va tu código
inv = {'gold coin': 42, 'rope': 1}
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
inv = addToInventory(inv, dragonLoot)
displayInventory(inv)
Ejemplo de Ejecución:
Un programa que muestre el inventario actualizado (como la de este ejercicio) mostraría lo siguiente después de ejecutar la línea addToInventory(inv, dragonLoot)
de la plantilla de código que se mostró anteriormente:
Inventario:
45 gold coin
1 rope
1 ruby
1 dagger
Número total de elementos: 48
Solución
Mostrar solución
def addToInventory(inventory, addedItems):
for item in addedItems:
if item in inventory:
inventory[item] += 1
else:
inventory[item] = 1
return inventory
inv = {'gold coin': 42, 'rope': 1}
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
inv = addToInventory(inv, dragonLoot)
displayInventory(inv)
Fuente del ejercicio: https://automatetheboringstuff.com/2e/chapter5/#calibre_link-206