Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| gf_informatik:funktionen:problems [2023-02-22 10:00] – gra | gf_informatik:funktionen:problems [2025-06-11 08:49] (aktuell) – [Problem 4] gra | ||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| In jedem der folgenden Codes hat es jeweils einen Fehler bzw. ein Problem. | In jedem der folgenden Codes hat es jeweils einen Fehler bzw. ein Problem. | ||
| - | Finde das Problem und beschreibe es in eigenen Worten. | + | Gehe für jedes Problem |
| - | Behebe das Problem | + | - *Predict*: Code lesen und voraussagen, |
| + | - *Run*: Führe den Code in [[https:// | ||
| + | - *Inspect*: Untersuche, weshalb | ||
| + | - *Modify*: Behebe den Fehler im Code. | ||
| ==== Problem 1 ==== | ==== Problem 1 ==== | ||
| Zeile 17: | Zeile 21: | ||
| print(" | print(" | ||
| | | ||
| - | if input(" | + | if input(" |
| say_hello | say_hello | ||
| else: | else: | ||
| Zeile 24: | Zeile 28: | ||
| ++++Lösung| | ++++Lösung| | ||
| - | In der If-Verzweigung unten soll entweder die Funktion // | + | In der If-Verzweigung unten soll entweder die Funktion // |
| + | ++++ | ||
| + | \\ | ||
| + | ==== Problem 2 ==== | ||
| + | Was ist das Problem mit folgendem Code? | ||
| + | <code python> | ||
| + | import random | ||
| + | |||
| + | def wuerfel(): | ||
| + | return random.randint(1, | ||
| + | |||
| + | def drei_wuerfel(): | ||
| + | return wuerfel(), wuerfel(), wuerfel() | ||
| + | |||
| + | drei_wuerfel() | ||
| + | </ | ||
| + | |||
| + | ++++Lösung| | ||
| + | Wenn du den Code ausführst, siehst du, dass nichts passiert. Die Funktion // | ||
| + | '' | ||
| + | ++++ | ||
| + | \\ | ||
| + | |||
| + | ==== Problem 3 ==== | ||
| + | Was ist das Problem mit folgendem Code? | ||
| + | <code python> | ||
| + | import random | ||
| + | |||
| + | def wuerfel(): | ||
| + | return random.randint(1, | ||
| + | |||
| + | def drei_wuerfel(): | ||
| + | return wuerfel() | ||
| + | return wuerfel() | ||
| + | return wuerfel() | ||
| + | |||
| + | print(drei_wuerfel()) | ||
| + | </ | ||
| + | |||
| + | ++++Lösung| | ||
| + | Die Funktion // | ||
| + | ++++ | ||
| + | |||
| + | \\ | ||
| + | ==== Problem 4 ==== | ||
| + | Welche beiden Zahlen gibt folgender Code aus? | ||
| + | <code python> | ||
| + | a = 1 | ||
| + | b = 2 | ||
| + | |||
| + | def summe_quadrate1(a, | ||
| + | return a**2 + b**2 | ||
| + | |||
| + | def summe_quadrate2(x, | ||
| + | return a**2 + b**2 | ||
| + | |||
| + | print(summe_quadrate1(4, | ||
| + | print(summe_quadrate2(4, | ||
| + | </ | ||
| + | |||
| + | ++++Lösung| | ||
| + | Der Code gibt erst 25, dann 5 aus. Wo liegt nun das Problem? Wenn du nur die letzte Zeile anschaust, würdest du erwarten, dass diese Zeile die Zahl 25 ausgibt (4 hoch 2 plus 3 hoch 2). Aber sie gibt 5 aus. Die Definition der Funktion // | ||
| + | * Variablen, die // | ||
| + | * Falls in der Definition der Funktion eine Variable definiert wird, die gleich heisst wie die globale Variable, handelt es sich dabei um zwei verschiedene Variablen! | ||
| + | |||
| + | **Merke:** Definiere Variablen, die du innerhalb einer Funktion verwendest, immer innerhalb der Funktion, nicht ausserhalb. | ||
| + | |||
| + | ++++ | ||
| + | |||
| + | \\ | ||
| + | ==== Problem 5 ==== | ||
| + | Die Aufgabenstellung geht so: //Schreibe eine Funktion, die eine zufällige Zahl zwischen 1 und 10 zurückgibt.// | ||
| + | |||
| + | Wo liegt das Problem in folgendem Code mit Blick auf die Aufgabenstellung? | ||
| + | <code python> | ||
| + | import random | ||
| + | |||
| + | def zufallszahl(): | ||
| + | print random.randint(1, | ||
| + | |||
| + | print(zufallszahl()) | ||
| + | </ | ||
| + | |||
| + | ++++Lösung| | ||
| + | Die Funktion `zufallszahl()` gibt keinen Wert // | ||
| + | |||
| + | **Merke: | ||
| + | * Wenn verlangt ist, dass eine Funktion etwas // | ||
| + | * Wenn verlangt ist, dass eine Funktion etwas // | ||
| ++++ | ++++ | ||