Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Mensch oder Computer?
Wann immer wir ein Programm schreiben, ist es wichtig zu berücksichtigen, wer oder was dieses Programm verwenden wird: ein Mensch oder der Computer.
Die Vorlage zum Schaltjahr war auf die Bedienung von Menschen zugeschnitten:
- Die Eingabe der Jahreszahl erfolgte über die Tastatur nach Starten des Programms.
- Zur Kontrolle wurde die Jahreszahl auch wieder ausgegeben.
- Außerdem erfolgt die Rückmeldung des Programms in Textform ("Schaltjahr!" oder "Kein Schaltjahr!").
Das Ziel der heutigen Stunde soll sein, ein Programm zu schreiben, das eine Liste von Jahreszahlen erhält und mit einer Liste an Wahrheitswerten (Boolean) antwortet. Ist die i-te Zahl ein Schaltjahr, so soll der i-te Eintrag der Ergebnisliste True sein.
Aber eins nach dem anderen!
Methoden Informationen mitgeben
Betrachten wir die von Python zur Verfügung gestellte Funktion print()
. Diese können wir verwenden, um Textausgaben zu machen. Damit der Computer weiß, was ausgegeben werden soll, muss die entsprechende Zeichenkette an die Methode übergeben werden, dafür schreiben wir sie in die Klammern hinter print
:
print("test")
print("Hallo!")
print("Baum.")
Wir erhalten also unterschiedliche Ergebnisse beim Aufruf derselben Funktion - abhängig davon, was in den Klammern steht.
Wir nennen "das was in den Klammern steht" Methodenparameter, Funktionsparameter oder einfach nur Parameter.
Mithilfe von Parametern kann einer Funktion eine Information (oder auch mehrere Informationen) mitgegeben werden. Eine Funktion kann beliebig viele, mit Komma getrennte Parameter haben. Eine Funktion zum Bilden der Summe zweier Zahlen könnte so aussehen:
Aufgabe: Subtraktion implementieren
Definiere in der nachfolgenden Code-Box eine Funktion subtrahiere()
, die zwei Parameter erhält und die Differenz der beiden Parameter mit print()
ausgibt. Bitte gib nur das Ergebnis ohne weiteren Text aus! Aufrufbeispiel:
subtrahiere(1, 2)
# gibt -1 aus
Anwendung aufs Schaltjahr
Nun wollen wir unser Schaltjahrbeispiel so umbauen, dass die Methode JahreszahlPruefen()
einen Parameter erhält, in dem das zu prüfende Jahr steht. Mögliche Aufrufe sollen so aussehen:
JahreszahlPruefen(1998)
# gibt "Kein Schaltjahr!" aus
JahreszahlPruefen(2000)
# gibt "Schaltjahr!" aus
Kontrollfragen zu Parametern
def funktionA(parameter):
funktion2(parameter)
def funktionB():
funktion2(parameter)
def funktionC(parameter):
funktion2(baum)
def funktionD(parameter1, parameter2):
funktionD(parameter1, parameter1 + parameter2)