In this exercise, you will be managing an inventory system.
The inventory should be organized by the item name and it should keep track of the number of items available.
You will have to handle adding items to an inventory. Each time an item appears in a given list, increase the item's quantity by 1
in the inventory. Then, you will have to handle deleting items from an inventory.
To finish, you will have to implement a function which returns all the key-value pairs in an inventory as a list of tuples
.
Implement the create_inventory()
function that creates an "inventory" from a list of items. It should return a dict
containing each item name paired with their respective quantity.
>>> create_inventory(["coal", "wood", "wood", "diamond", "diamond", "diamond"])
{"coal":1, "wood":2 "diamond":3}
Implement the add_items()
function that adds a list of items to an inventory:
>>> add_items({"coal":1}, ["wood", "iron", "coal", "wood"])
{"coal":2, "wood":2, "iron":1}
Implement the delete_items()
function that removes every item in the list from an inventory:
>>> delete_items({"coal":3, "diamond":1, "iron":5}, ["diamond", "coal", "iron", "iron"])
{"coal":2, "diamond":0, "iron":3}
Item counts should not fall below 0
, if the number of items in the list exceeds the number of items available in the inventory, the listed quantity for that item should remain at 0
and the request for removing that item should be ignored.
>>> delete_items({"coal":2, "wood":1, "diamond":2}, ["coal", "coal", "wood", "wood", "diamond"])
{"coal":0, "wood":0, "diamond":1}
Implement the list_inventory()
function that takes an inventory and returns a list of (item, quantity)
tuples. The list should only include the available items (with a quantity greater than zero):
>>> list_inventory({"coal":7, "wood":11, "diamond":2, "iron":7, "silver":0})
[('coal', 7), ('diamond', 2), ('iron', 7), ('wood', 11)]