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:21] – [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(" | ||
| + | </ | ||
| + | ++++ | ||
| + | </ | ||