Akzeptieren Sie das Github-Assignment LU09.A02 - Inhalte in Funktionen auslagern
unter dem Link in Moodle und klonen Sie das Projekt in Ihre IDE.
Führen Sie das Programm main.py
aus und machen Sie sich mit den Funktionen vertraut.
Führen Sie auch die Testfälle main_test.py aus. Diese müssen alle auf PASSED
stehen.
============================= test session starts ============================== collecting ... collected 4 items main_test.py::test_menue PASSED [ 25%] main_test.py::test_fibonacci PASSED [ 50%] main_test.py::test_einmaleins PASSED [ 75%] main_test.py::test_even_odd PASSED [100%] ============================== 4 passed in 0.01s ===============================
Wir haben uns vorgenommen, dass wir Duplikate im Code vermeiden möchten. Im Programm talk_to_user
listen wir dem User an zwei Stellen im Code seine Auswahlmöglichkeiten auf:
# Show Menue print() # Newline print('==============================================') print('Was möchten Sie mit dieser Applikation machen?') print('Wählen Sie \'f\' für Fibonacci-Reihe ausgeben') print('Wählen Sie \'e\' für Kleines Einmaleins') print('Wählen Sie \'g\' für Berechnung Gerade / Ungerade') print('Wählen Sie \'x\' um das Programm zu beenden!')
Wir möchten diesen Programmteil nun in eine externe Methode packen. Wir arbeiten uns also durch die 3 Schritte durch:
Ihre Änderung darf das Resultat der Tests nicht verändern, es müssen immer noch alle Tests auf PASSED
stehen.
============================= test session starts ============================== collecting ... collected 4 items main_test.py::test_menue PASSED [ 25%] main_test.py::test_fibonacci PASSED [ 50%] main_test.py::test_einmaleins PASSED [ 75%] main_test.py::test_even_odd PASSED [100%] ============================== 4 passed in 0.01s ===============================
Setzen Sie dies im Code nun um. Erstellen Sie einen Commit, wenn Sie die Lösung implementiert haben.
Eine mögliche Lösung finden Sie hier: Menüauswahl in Funktion auslagern
Um die Übersichtlichkeit des Codes zu erhöhen, lagern wir die Unterprogramme (Fibonacci, Einmaleins und Gerade/Ungerade) in eigene Funktionen aus.
Um diese Unterprogramme nun in eine externe Methoden zu packen, arbeiten uns für jede Methode durch die 3 Schritte durch:
Ihre Änderung darf das Resultat der Tests nicht verändern, es müssen immer noch alle Tests auf PASSED
stehen.
============================= test session starts ============================== collecting ... collected 4 items main_test.py::test_menue PASSED [ 25%] main_test.py::test_fibonacci PASSED [ 50%] main_test.py::test_einmaleins PASSED [ 75%] main_test.py::test_even_odd PASSED [100%] ============================== 4 passed in 0.01s ===============================
Setzen Sie dies im Code nun um. Erstellen Sie einen Commit, wenn Sie die Lösung implementiert haben.
Eine mögliche Lösung finden Sie hier: Unterprogramme auslagern