Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:programmieren_ii:problems [2022-12-10 10:25] – [Probleme 1...5] gra | gf_informatik:programmieren_ii:problems [2022-12-21 07:29] (aktuell) – [Probleme 1...5] gra | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
=== Probleme 1...5 === | === Probleme 1...5 === | ||
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. Du kannst | + | - Finde das Problem. Du kannst |
- | - Beschreibe in eigenen Worten, was das Problem ist. | + | - Beschreibe |
- | - Behebe das Problem und teste, ob der Code läuft. | + | - Behebe das Problem und teste, ob der Code läuft. |
<code python Problem_01.py> | <code python Problem_01.py> | ||
Zeile 14: | Zeile 14: | ||
</ | </ | ||
- | < | + | < |
++++Lösung| | ++++Lösung| | ||
Das Problem liegt in der ersten Zeile und in der darauffolgenden if-Bedingung: | Das Problem liegt in der ersten Zeile und in der darauffolgenden if-Bedingung: | ||
Zeile 24: | Zeile 24: | ||
if zahl >= 0: | if zahl >= 0: | ||
</ | </ | ||
- | Alternativ könntest du auch die vollständige input()-Funktion in der Bedingung der if-Verzweigung unterbringen: | + | Alternativ könntest du auch die vollständige |
<code python> | <code python> | ||
if input(" | if input(" | ||
</ | </ | ||
- | Das Problem | + | Der Nachteil |
++++ | ++++ | ||
</ | </ | ||
Zeile 43: | Zeile 43: | ||
print(" | print(" | ||
</ | </ | ||
+ | |||
+ | <nodisp 1> | ||
+ | ++++Lösung| | ||
+ | Das Problem ensteht hier, wenn die Benutzer:in die Zahl 0 eingibt: Dann gibt das Programm nicht "Zahl ist 0" aus, sondern "Zahl ist positiv" | ||
+ | <code python Problem_02.py> | ||
+ | ... | ||
+ | if eingabe > 0: | ||
+ | print(" | ||
+ | ... | ||
+ | </ | ||
+ | ++++ | ||
+ | </ | ||
+ | |||
\\ | \\ | ||
+ | <code python Problem_03.py> | ||
+ | from gturtle import * | ||
+ | Options.setPlaygroundSize(400, | ||
+ | Michelangelo = Turtle() | ||
+ | figur = input(" | ||
+ | |||
+ | if figur == " | ||
+ | Michelangelo.rightArc(50, | ||
+ | if figur == " | ||
+ | repeat 4: | ||
+ | Michelangelo.forward(50) | ||
+ | Michelangelo.right(90) | ||
+ | else: | ||
+ | print(" | ||
+ | </ | ||
+ | |||
+ | <nodisp 1> | ||
+ | ++++Lösung| | ||
+ | Das Problem ensteht hier, wenn die Benutzer:in " | ||
+ | <code python> | ||
+ | if figur == " | ||
+ | Michelangelo.rightArc(50, | ||
+ | elif figur == " | ||
+ | repeat 4: | ||
+ | Michelangelo.forward(50) | ||
+ | Michelangelo.right(90) | ||
+ | else: | ||
+ | print(" | ||
+ | </ | ||
+ | ++++ | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | <code python Problem_04.py> | ||
+ | from gturtle import * | ||
+ | Options.setPlaygroundSize(400, | ||
+ | Michelangelo = Turtle() | ||
+ | |||
+ | figur = input(" | ||
+ | |||
+ | if figur == Kreis: | ||
+ | Michelangelo.rightArc(50, | ||
+ | elif figur == Quadrat: | ||
+ | repeat 4: | ||
+ | Michelangelo.forward(50) | ||
+ | Michelangelo.right(90) | ||
+ | else: | ||
+ | print(" | ||
+ | </ | ||
+ | |||
+ | <nodisp 1> | ||
+ | ++++Lösung| | ||
+ | Dieser Code ergibt eine Fehlermeldung bei der if-Bedingung. Denn hier wird die Variable namens '' | ||
+ | ++++ | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | <code python Problem_05.py> | ||
+ | # Wo liegt das Problem? | ||
+ | from gturtle import * | ||
+ | Options.setPlaygroundSize(400, | ||
+ | Michelangelo = Turtle() | ||
+ | |||
+ | figur = input(" | ||
+ | Kreis = Michelangelo.rightArc(50, | ||
+ | |||
+ | if figur == " | ||
+ | Kreis | ||
+ | else: | ||
+ | print(" | ||
+ | </ | ||
+ | |||
+ | <nodisp 1> | ||
+ | ++++Lösung| | ||
+ | Dieser Code gibt eine Fehlermeldung beim " | ||
+ | Das Problem besteht aber schon weiter oben in dieser Zeile: | ||
+ | <code python> | ||
+ | Kreis = Michelangelo.rightArc(50, | ||
+ | </ | ||
+ | Hier wird wohl versucht, eine Funktion, die einen Kreis zeichnet, in einer Variable zu speichern. Das ist nicht möglich. In Variablen kannst du nur //Werte// speichern – auch Werte, die von Funktionen zurückgegeben werden. Also: | ||
+ | <code python> | ||
+ | Kreis = Michelangelo.rightArc(50, | ||
+ | figur = input(" | ||
+ | </ | ||
+ | ++++ | ||
+ | </ | ||