Funktionen¶
Notizen¶
korrekte Einrückung von untergeordneten Codeblöcken ist Teil korrekter Python-Syntax
das heißt, die Einrückung soll nicht nur optisch Programmteile hervorheben, sie wird auch vom Interpreter als bedeutungstragend erkannt. Probieren sie beispielsweise aus, eine Zeile in der Funktionsdefinition ein Leerzeichen mehr oder weniger einzurücken.
Standard sind vier Leerzeichen
Tabulator-Zeichen möglichst vermeiden, echte Leerzeichen verwenden
am besten den Editor so einstellen, dass TABs automatisch durch 4 Leerzeichen ersetzt werden (bei vielen Code-Editoren ist das die Voreinstellung)
Aufgaben¶
Bearbeiten Sie die folgende Aufgabe 02 und speichern Sie das Ergebnis in Ihrem pythonanywhere-Account! Sie können den nachfolgenden Text der Aufgabenstellung auch direkt in den Editor bei pythonanywhere kopieren. (Muster 02)
# Definieren Sie eine Funktion ``uhradd(h, m, diff_h, diff_m)``, # die bei Übergabe einer Uhrzeit (h...Stunde, m...Minute) und einer Zeitdifferenz # (gegeben in Stunden und Minuten) die End-Uhrzeit des so definierten # Zeitintervalls als Rückgabewert (als String) zurückgibt, z. B. anderthalb # Stunden nach 13:45 Uhr :: # # >>> print(uhradd(13,45,1,30)) # 15 : 15 # # Bonus: Schreiben Sie die Funktion so, dass auch beim Über- oder # Unterschreiten von Mitternacht bzw. Null Uhr eine korrekte Zeit angezeigt wird: # # >>> print(uhradd(23,45,1,30)) # 1 : 15 # Tipp 1: Ganzzahldivision und der Rest-Operator '%' könnten hilfreich sein. # Tipp 2: Um numerische Werte in String/Zeichenketten umzuwandeln, # verwenden sie die Funktion str(), siehe auch Kapitel 3.1 # 13+45 ergibt 58 # str(13)+str(45) ergibt 1345 def uhradd(h, m, diff_h, diff_m): #hier kommt ihr Code hin return endzeit print(uhradd(13,45,1,30)) # soll 15:15 ergeben print(uhradd(14,30,-2,0)) # soll 12:30 ergeben print(uhradd(23,45,1,30)) # soll 1:15 ergeben
Lesen Sie im Buch die folgenden Abschnitte:
Kapitel 5 zum Thema Conditionals (außer die Abschnitte 5.8, 5.9, 5.10 zum Thema Rekursion)
Kapitel 6 zum Thema Fruitful Functions, hier nur Abschnitte 6.1 und 6.2
Kapitel 7 zum Thema Iteration
(Kapitel 4 wird in der Vorlesung nicht besprochen)