At My Fingertips
Rapid Playground
def einerreihe(stop):
for element in range(1, stop + 1):
print(element, end = ", ")
einerreihe(20)
def funktion_1(stop):
x = 0
for element in range(stop):
x = x + element
print(x, end = ", ")
funktion_1(4)
Weil funktion_1(stop)
einen Seiteneffekt hat: print(x, end = ", ")
. Ein Seiteneffekt ist hier ein Ausgabebefehl wie print(...)
oder show_graphic(...)
, der in einer Funktion ist. Dies ist meist 'schlechter' Stil, jedoch nützlich um zu verstehen, welche Werte (Integer, Graphics etc.) Variablen zu einem bestimmten Zeitpunkt haben.
Anstatt des Seiteneffekts würde eine saubere Codeversion (nur einmal) mit return
einen Rückgabewert zurückgeben, nämlich das Endresultat ohne alle Zwischenschritte:
def funktion_1(stop):
x = 0
for element in range(stop):
x = x + element
return x
print(funktion_1(4))
Um die sich ändernden Werte von Variablen in Schleifen nachzuvollziehen, erstellen Sie eine Wertetabelle für den Aufruf funktion_1(6)
:
element | x + element | x (neu) |
---|---|---|
0 | 0 + 0 | 0 |
1 | 0 + 1 | 1 |
2 | 1 + 2 | 3 |
3 | 3 + 3 | 6 |
4 | 6 + 4 | 10 |
5 | 10 + 5 | 15 |
Die erste Spalte gibt für jeden Schleifendurchlauf den Wert der Schleifenvariable element
an. Dies zählt auch die Schleifendurchläufe. Die zweite Spalte zeigt an, welche Werte die Variablen element
und x
annehmen, um den neuen Wert von x
in der dritten Spalte zu berechnen. So kann man für jeden Schleifendurchlauf nachvollziehen, was geschieht.
def funktion_2(ende: int):
a = 0
for i in range(ende):
a = a + i + i
print(a, end = ", ")
funktion_2(5)
i | a + i + i | a (neu) |
---|---|---|
0 | 0 + 0 + 0 | 0 |
1 | 0 + 1 + 1 | 2 |
2 | 2 + 2 + 2 | 6 |
3 | 6 + 3 + 3 | 12 |
4 | 12 + 4 + 4 | 20 |
This activity has been created by Gall and is licensed under CC BY-SA 4.0.
Wertetabelle
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version 320e1c5 (Thu, 16 May 2024 14:11:39 GMT)