Wissen und Reproduzieren
16 Punktename = "Lea"alter = 14print(name, "ist", alter)print(name + str(alter + 1))
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: a) Mit Komma werden die Werte durch Leerzeichen getrennt: Lea ist 14 (2 P). b) alter + 1 = 15 wird mit str() zu Text und mit + ohne Leerzeichen angehängt: Lea15 (2 P). Ohne str() gäbe es einen TypeError.
Jeder Ausdruck liefert einen Wert. Bestimme seinen Datentyp.
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: 2.5 → float, "2.5" → str (Anführungszeichen!), 10 / 2 → float (5.0), 10 // 2 → int (5), False → bool, int("7") → int. Punkte anteilig: 6 richtige Zuordnungen = 4 P.
Berechne ohne Python, welchen Wert die Ausdrücke haben.
17 // 3 1 P17 % 3 1 P2 + 3 * 2 ** 2 2 PLösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: a) 17 : 3 = 5 Rest 2, also 17 // 3 = 5 (1 P) b) 17 % 3 = 2 (1 P) c) Erst die Potenz 2 ** 2 = 4, dann 3 · 4 = 12, dann 2 + 12 = 14 (2 P).
Jede Zeile steht allein in einem Programm und führt zu einer Fehlermeldung.
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: Zeile 1: das schließende Anführungszeichen fehlt → SyntaxError. Zeile 2: punkte wurde nie festgelegt → NameError. Zeile 3: „zwölf“ ist keine Ziffernfolge → ValueError. Zeile 4: Text und Zahl lassen sich nicht mit + verbinden → TypeError. Je 1 P.
Zusammenhänge herstellen
22 PunkteVerfolge das Programm mit einer Wertetabelle für a und b.
a = 1b = 0while a < 40: b = b + a a = a * 3print(a, b)
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: Wertetabelle (a | b): (1 | 0) → (3 | 1) → (9 | 4) → (27 | 13) → (81 | 40). Danach ist 81 < 40 falsch. a) 4 Durchläufe (2 P) b) a = 81 (2 P) c) b = 1 + 3 + 9 + 27 = 40 (2 P).
wert = 0for i in range(10, 0, -3): if i % 2 == 0: wert = wert + i else: wert = wert - 1print(wert)
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: range(10, 0, −3) liefert 10, 7, 4, 1 — die 0 ist der Stoppwert. a) 4 Durchläufe (2 P) b) i = 1 (2 P) c) 10 gerade: 0 + 10 = 10; 7 ungerade: 9; 4 gerade: 13; 1 ungerade: 12 (2 P).
team = ["Ali", "Ben", "Cem"]team.append("Dana")team.insert(0, "Eva")team.pop(2)print(team[1], team[-1], len(team))
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: Nach append: ["Ali", "Ben", "Cem", "Dana"]; nach insert(0, "Eva"): ["Eva", "Ali", "Ben", "Cem", "Dana"]; pop(2) entfernt Index 2, also „Ben“: ["Eva", "Ali", "Cem", "Dana"]. a) 4 Elemente (2 P) b) team[1] = Ali, team[-1] = Dana: Ali Dana 4 (3 P).
Gegeben ist wort = "KLASSENARBEIT".
len(wort)? 1 PLösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: Indizes: K0 L1 A2 S3 S4 E5 N6 A7 R8 B9 E10 I11 T12. a) 13 Zeichen (1 P) b) wort[0:6] = KLASSE (Index 6 = N gehört nicht dazu), wort[-4:] = BEIT, wort[7:].lower() = arbeit, wort[2] + wort[5] = A + E = AE (je 1 P).
Verallgemeinern und beurteilen
12 Punktedef flaeche(a, b): ergebnis = a * b print(ergebnis)x = flaeche(3, 4)print(x)
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: Richtig sind 1, 3 und 5: Die Funktion zeigt 12 mit print an, gibt aber nichts zurück — x ist None, und print(x) gibt None aus. Mit return wäre x = 12 und nur die Zeile print(x) würde 12 ausgeben. ergebnis ist eine lokale Variable und existiert außerhalb der Funktion nicht (NameError). Je richtige Auswahl 2 P, Fehlklicks werden abgezogen.
Beim Quiz tippt Noah nacheinander Rom (mit Leerzeichen davor), 45 und JUPITER ein.
def pruefe(antwort, loesung): if antwort.strip().lower() == loesung: return True return Falsefragen = ["Hauptstadt von Italien?", "5 * 8?", "Größter Planet?"]loesungen = ["rom", "40", "jupiter"]punkte = 0for i in range(len(fragen)): antwort = input(fragen[i] + " ") if pruefe(antwort, loesungen[i]): punkte = punkte + 1prozent = punkte * 100 // len(fragen)print(punkte, prozent)
.strip() fehlen würde? 2 PLösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: a) „ Rom“ wird durch strip() und lower() zu „rom“ ✓, „45“ ≠ „40“ ✗, „JUPITER“ wird zu „jupiter“ ✓: 2 Punkte (2 P). b) 2 · 100 // 3 = 200 // 3 = 66 — // schneidet ab, es wird nicht gerundet (2 P). c) Ohne strip() bleibt das Leerzeichen: „ rom“ ≠ „rom“, also nur noch 1 Punkt (2 P).
Ergebnis
| Aufgabe | Thema | Punkte |
|---|
Notenschema
| Punkte | Note | Beurteilung |
|---|---|---|
| 46 – 50 P | 1 | sehr gut |
| 40 – 45 P | 2 | gut |
| 30 – 39 P | 3 | befriedigend |
| 22 – 29 P | 4 | ausreichend |
| 12 – 21 P | 5 | mangelhaft |
| 0 – 11 P | 6 | ungenügend |
