added basic tests
This commit is contained in:
29
src/ex2_dictionary.py
Normal file
29
src/ex2_dictionary.py
Normal file
@ -0,0 +1,29 @@
|
||||
# DO NOT CHANGE THE IMPORTS!
|
||||
|
||||
def calculate_price(articles: dict[str, int], cart: dict[str, int]) -> float:
|
||||
price = 0
|
||||
for name, amount in cart.items():
|
||||
if name in articles:
|
||||
price += articles[name] * amount
|
||||
return price / 100
|
||||
|
||||
|
||||
def by_amount(articles: dict[str, int], cart: dict[str, int]) -> dict[int, list[str]]:
|
||||
out: dict[int, list[str]] = dict()
|
||||
for name, amount in cart.items():
|
||||
if name not in articles:
|
||||
continue
|
||||
if amount not in out:
|
||||
out[amount] = [name]
|
||||
else:
|
||||
out[amount] += [name]
|
||||
return out
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
articles_dict = {"apples": 100, "oranges": 100, "lemons": 200, "avocado": 500}
|
||||
cart_dict = {"apples": 2, "oranges": 2, "lemons": 1, "bananas": 5}
|
||||
|
||||
assert calculate_price(articles_dict, cart_dict) == 6.0
|
||||
|
||||
assert by_amount(articles_dict, cart_dict) == {2: ['apples', 'oranges'], 1: ['lemons']}
|
Reference in New Issue
Block a user