Skip to content

Commit 9d68042

Browse files
committed
Improve example
1 parent 9dcdbde commit 9d68042

File tree

1 file changed

+33
-11
lines changed

1 file changed

+33
-11
lines changed

08_PythonVertiefung.md

+33-11
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
author: Sebastian Zug & André Dietrich & Galina Rudolf
44
5-
version: 1.0.3
5+
version: 1.0.4
66
language: de
77
narrator: Deutsch Female
88
@@ -16,7 +16,7 @@ import: https://github.com/liascript/CodeRunner
1616

1717
[![LiaScript](https://raw.githubusercontent.com/LiaScript/LiaScript/master/badges/course.svg)](https://liascript.github.io/course/?https://github.com/TUBAF-IfI-LiaScript/VL_ProzeduraleProgrammierung/blob/master/08_PythonVertiefung.md)
1818

19-
# Objektorientierung in Python
19+
# Vertiefung der Python Konzepte
2020

2121
| Parameter | Kursinformationen |
2222
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -170,7 +170,9 @@ print(oldtimer)
170170
> Nehmen wir an, Sie entwerfen ein Verzeichnis der Studierenden aus Freiberg. Sie wollen die Paarung Studierendenname zu Matrikel als Dictonary umsetzen. Einer Ihrer Kommilitonen schlägt vor, dafür zwei Listen zu verwenden und die Verknüpfung über den Index zu realisieren. Was meinen Sie dazu?
171171
172172
```python goodSolution.py
173-
students = {"von Cotta": 12, "Humboldt": 17, "Zeuner": 233}
173+
students = {"von Cotta": 12,
174+
"Humboldt": 17,
175+
"Zeuner": 233}
174176

175177
student = "von Cotta"
176178
print(f"Student {student} ({students[student]})")
@@ -256,7 +258,7 @@ Gegeben sei eine Liste der Studiengangsbezeichnungen für die Studierenden diese
256258
3. Wie viele Studierende zu den Studiengängen gehören?
257259

258260
```python
259-
# Angabe der Studiengänge der eingeschriebenen Teilnehmer in der
261+
# Angabe der Studiengänge der 2022 eingeschriebenen Teilnehmer in der
260262
# Veranstaltung
261263
topics = [
262264
"S-UWE", "S-WIW", "S-GÖ", "S-VT", "S-GÖ", "S-BAF", "S-VT",
@@ -371,7 +373,7 @@ print(zahl)
371373
```
372374
@LIA.eval(`["main.py"]`, `none`, `python3 main.py`)
373375

374-
Der Parameter `zahl` wird als _Call-by-Value_ übergeben. Die Zuweisung eines neuen Wertes ändert nicht die gleichnamige Variable außerhalb der Funktion!
376+
Der Parameter `zahl` wird als _Call-by-Assignment_ übergeben. Die Zuweisung eines neuen Wertes ändert nicht die gleichnamige Variable außerhalb der Funktion!
375377

376378
`return` erlaubt lediglich einen Rückgabewert. Wie handhaben wir dann die Situation, wenn es mehrere sind?
377379

@@ -396,7 +398,20 @@ print(y)
396398

397399
## Typ-Hinweise für Variablen
398400

399-
Demo
401+
__Variante 1: Der Interpreter meckert ...__
402+
403+
```python
404+
from typing import List
405+
406+
def my_function(numbers: List[int]) -> int:
407+
return sum(numbers)
408+
409+
numbers = [1, 2, 3, 4, 5]
410+
print(my_function(numbers))
411+
```
412+
@LIA.eval(`["main.py"]`, `none`, `python3 main.py`)
413+
414+
__Variante 2: Die Entwicklungsumgebung meckert ...__
400415

401416
![alt-text](images/09_Python/ScreenshotTypeHinting.png)
402417

@@ -410,8 +425,8 @@ Funktion $f(x) = x^2 - a$, so dass für die Nullstelle gilt: $x^2 = a$
410425
2. Für unseren Fall: $x_{n+1} = \frac{1}{2} (x_n + \frac{a}{x_n})$
411426
3. Wir beenden die Iteration, wenn $|x_{n+1} - x_n| < \varepsilon$
412427

413-
```python
414-
def square_root(a, output=False, eps=0.00000001):
428+
```python newton.py
429+
def square_root(start, a, output=False, eps=0.00000001):
415430
xn = a
416431
while True:
417432
if output: print(xn)
@@ -427,15 +442,22 @@ def square_root(a, output=False, eps=0.00000001):
427442
return x
428443

429444
if __name__ == "__main__":
430-
x = float( input("Enter value for x:") )
445+
x = float( input("Inital value for x:") )
431446
output = input("Show all outputs (y/n)?")
447+
if output == 'y':
448+
output = True
449+
else:
450+
output = False
432451

433-
result = square_root(x, output=='y')
434-
print("sqrt(",x,") =", result)
452+
a=4
453+
result = square_root(x, a, output)
454+
print(f"Zero point of x^2-{a}", result)
435455

436456
```
437457
@LIA.eval(`["main.py"]`, `none`, `python3 main.py`)
438458

459+
> Welches Problem sehen Sie?
460+
439461
# Quiz
440462
## Weitere Datentypen
441463
### Tupel oder Liste?

0 commit comments

Comments
 (0)