Solution to exercise 3 #4

Open
emiliaja wants to merge 3 commits from emiliaja/2024-heraklion-ODD:python_expert into main
2 changed files with 29 additions and 4 deletions

View file

@ -2,6 +2,7 @@ from brewing import potion_class
from brewing import containers
from brewing import cooking
from brewing import inspection
from brewing import ingredients
def make_example_potion(student_name="ASPP student"):
"""Make and return an example potion."""
@ -16,12 +17,18 @@ def make_example_potion(student_name="ASPP student"):
def make_python_expert_potion(student_name):
print("I am a Python Expert")
# todo: write this function!
return
python_expert = potion_class.Potion(student_name=student_name)
# 1. Set up a pewter cauldron and light a fire underneath it
python_expert.setup(container=containers.PEWTER_CAULDRON, heat_source=cooking.BREATHE_ON_CAULDRON)
# 2. Add fish eyes, unicorn hair and tea leaves
python_expert.add_ingredients(ingredients=[ingredients.FISH_EYES, ingredients.UNICORN_HAIR, ingredients.TEA_LEAVES])
# 3. Let simmer for 2 hours
cooking.simmer(python_expert, duration=2)
return python_expert
if __name__ == "__main__":
my_name = 'ASPP student'
my_potion = make_example_potion(student_name=my_name)
my_potion = make_python_expert_potion(student_name=my_name)
# Let Snoope inspect the potion
inspection.inspection_by_snoope(potion=my_potion, target_potion='example_potion')
inspection.inspection_by_snoope(potion=my_potion, target_potion='python_expert')

18
src/make_potion.py Normal file
View file

@ -0,0 +1,18 @@
from brewing import potion_class
from brewing import cooking
from brewing import containers
def make_example_potion(student_name="ASPP student"):
my_potion = potion_class.Potion(student_name=student_name)
# Set up your old kettle and light an eternal flame underneath it.
my_potion.setup(container=containers.OLD_KETTLE, heat_source="eternal_flame")
# Simmer for 5 hours.
cooking.simmer(my_potion, duration=5)
print(f"You successfully ran make_example_potion, {student_name}, well done :).")
return my_potion
if __name__=="__main__":
my_name = 'ASPP student'
my_potion = make_example_potion(student_name=my_name)