adding exercises and part2 slides

This commit is contained in:
Jenni Rinker 2024-08-23 09:10:39 +02:00
parent 842d09bb55
commit 19a4dde84f
3 changed files with 64 additions and 0 deletions

View file

@ -0,0 +1,38 @@
## Exercise 2a: Local importing
#### Goal
Retrival practice in "basic" importing.
#### Preparation
(none)
#### Tasks
0. Create a file in the `src/` folder called `make_potion.py` and copy the code below
into it.
```python
# ADD IMPORT STATEMENTS HERE!
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)
# 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
my_name = 'ASPP student'
my_potion = make_example_potion(student_name=my_name)
```
1. Figure out what import statements are missing, either by visual inspection or
by running the code and seeing what dies. Add the missing import statements at
the top of the file. You may need to inspect the files in `src/brewing/`.
2. Run `make_potion.py`. Did it work?

View file

@ -0,0 +1,26 @@
## Exercise 2a: Unprotected code
#### Goal
Investigate what happens when importing from modules with "unprotected" code.
#### Preparation
(none)
#### Tasks
0. Create a file in the `src/` folder called `main.py`.
1. Add a line in `main.py` that imports the `make_example_potion` function from
`make_potion.py`.
2. **BEFORE YOU EXECUTE THE FILE**. Discuss with your partner what you think will
happen when you run `main.py`.
3. Run `main.py`. Does your prediction match reality?
4. (optional, for those who know) Discuss with your partner:
* Why did this behaviour occur?
* Why is it not good?
* What can you do to "fix" the behaviour?

Binary file not shown.