Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:snr:informatik:python:funktionen [2021/11/02 18:30] Olaf Schnürer [Globale und lokale Variablen] |
lehrkraefte:snr:informatik:python:funktionen [2021/11/04 18:09] (current) Olaf Schnürer [Funktionen] |
||
---|---|---|---|
Line 59: | Line 59: | ||
</ | </ | ||
+ | <WRAP round todo> | ||
+ | Du kannst einer Funktion auch eine Liste als Parameter übergeben. Schreibe ein Programm, das dies ausnutzt! - Etwa ein Programm, das den Durschnitt einer Liste von Zahlen ausrechnet. | ||
+ | </ | ||
<WRAP round todo> | <WRAP round todo> | ||
Line 64: | Line 67: | ||
Verbessere das Programm (es genügt, vier Zeichen (und eventuell Leerzeichen) zu ergänzen)! | Verbessere das Programm (es genügt, vier Zeichen (und eventuell Leerzeichen) zu ergänzen)! | ||
- | Bemerkung: Sobald die '' | + | Bemerkung: Sobald die '' |
(Hierbei steht '' | (Hierbei steht '' | ||
Line 113: | Line 116: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | <WRAP round todo> | ||
+ | ACHTUNG, ICH HATTE LEIDER ZUNÄCHST DAS AUSRUFEZEICHEN IN DER ZWEITEN ZEILE VERGESSEN! | ||
+ | |||
+ | Versuche die folgende Definition der Fakultätsfunktion | ||
+ | |||
+ | {{: | ||
+ | |||
+ | in ein Programm zu übersetzen. | ||
+ | |||
+ | Wenn dir das gelingt, hast du " | ||
+ | |||
+ | Die obige Definition ist übrigens die sogenannte // | ||
+ | </ | ||
+ | |||
Line 146: | Line 164: | ||
Wir lernen daraus: Solange es keine lokale Variable gleichen Namens gibt, ist eine globale Variable wie '' | Wir lernen daraus: Solange es keine lokale Variable gleichen Namens gibt, ist eine globale Variable wie '' | ||
- | Manchmal ist es jedoch sinnvoll, eine globale Variable auch innerhalb von Funktionen verändern zu können (wie es ja der Name global eigentlich nahelegt)((in vielen Programmiersprachen ist dies standardmässig möglich)). Dies geschieht, indem man am Funktionsbeginn mit dem Schlüsselwort '' | + | Manchmal ist es jedoch sinnvoll, eine globale Variable auch innerhalb von Funktionen verändern zu können (wie es ja der Name global eigentlich nahelegt)((in vielen Programmiersprachen ist dies standardmässig möglich)). Dies geschieht, indem man am Funktionsbeginn mit dem Schlüsselwort '' |
<code python> | <code python> | ||
def test(): | def test(): | ||
+ | print(s) | ||
global s | global s | ||
s = " | s = " | ||
Line 157: | Line 176: | ||
print(s) | print(s) | ||
</ | </ | ||
+ | In diesem Beispiel bedeutet der Befehl '' | ||
</ | </ | ||
+ | <WRAP round info> | ||
+ | Vermutlich ist es intuitiv klar, | ||
+ | der Vollständigkeit halber sei aber erwähnt, dass lokale Variablen ausserhalb ihres Sichtbarkeitsbereichst nicht zugänglich sind in dem Sinne, dass ihr Wert nicht abrufbar ist: | ||
+ | <code python> | ||
+ | def test(): | ||
+ | s = " | ||
+ | print(s) | ||
+ | | ||
+ | test() | ||
+ | if s == " | ||
+ | print(" | ||
+ | # s = " | ||
+ | # print(s) | ||
+ | </ | ||
+ | Wenn man hier aber die '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Einige Lösungsvorschläge ===== | ||
+ | <hidden Fakultät> | ||
+ | <code python> | ||
+ | def fakultaet(x): | ||
+ | wert = 1 | ||
+ | for i in range(1, x + 1): | ||
+ | wert = wert * i | ||
+ | return(wert) | ||
+ | |||
+ | print(fakultaet(5)) | ||
+ | |||
+ | for k in range(10): | ||
+ | print(" | ||
+ | </ | ||
+ | </ | ||