Selbstwissenstest: while- und for-Schleife in Python

WPF Informatik  ·  TigerJython / Python 2.7  ·  Bearbeite alle Aufgaben selbstständig!

wird ermittelt…
0 / 6 Teile bearbeitet
Bearbeite alle Aufgaben selbstständig. Nutze kein Internet oder Hilfsmittel, um deinen Lernstand ehrlich einschätzen zu können. Klicke nach jedem Teil auf „Überprüfen" – am Ende kannst du alle Lösungen einsehen.
Teil 1 Multiple Choice – Kreuze die richtige(n) Antwort(en) an – / 7 Pkt.
A1. Was gibt folgender Code aus?
x = 1 while x < 4: print x x = x + 1

A2. Welche Aussagen zur while-Schleife sind korrekt? (mehrere möglich)

A3. Welche Bedingung(en) erzeugen eine Endlosschleife? (mehrere möglich)
Teil 2 Lückentext – Ergänze die Fachbegriffe – / 8 Pkt.
Bedingung Einrückung (Indentation) Endlosschleife Iteration Kontrollstruktur Schleifenkörper while Struktogramm
Die while-Schleife ist eine zur Wiederholung von Anweisungen. Der Beginn der Schleife wird mit dem Schlüsselwort eingeleitet, gefolgt von der , die ausgewertet wird. Ist diese wahr (True), werden die Anweisungen im ausgeführt. Danach wird die Bedingung erneut geprüft. Die Anweisungen im Innern erfordern eine (Einzug nach rechts). Jeden einzelnen Durchlauf der Schleife nennt man . Falls die Bedingung nie False wird, entsteht eine . Den Ablauf kann man grafisch in einem darstellen.
Teil 3 Verständnisfragen Selbst bewerten
B1. Erkläre mit eigenen Worten: Was ist der Unterschied zwischen einer while-Schleife und einer Schleife mit fester Durchlaufanzahl? Gib je ein kurzes Alltagsbeispiel.
B2. Warum ist es wichtig, dass sich im Schleifenkörper etwas verändert, das die Bedingung beeinflusst? Was passiert sonst?
Teil 4 Code-Analyse – Zahlenraten Selbst bewerten
from random import randint geheimzahl = randint(1, 100) geraten = 0 versuche = 0 while geraten != geheimzahl: # Zeile 7 geraten = int(inputInt("Rate eine Zahl (1-100): ")) versuche = versuche + 1 if geraten < geheimzahl: print "Zu klein!" elif geraten > geheimzahl: print "Zu gross!" print "Richtig! Du hast", versuche, "Versuche gebraucht."
C1. Welchen Wert hat versuche, wenn der Spieler beim ersten Versuch richtig rät?
C2. Was würde passieren, wenn in Zeile 7 statt geraten != geheimzahl die Bedingung geraten == geheimzahl stehen würde? Begründe kurz.
C3. Markiere oder benenne die Zeile(n), in der die Bedingung irgendwann False werden kann.
Teil 5 Fehlersuche (Debugging) – 3 Fehler finden – / 3 Pkt.

Der folgende Code soll von 1 bis 5 zählen und die Summe ausgeben. Er enthält drei Fehler. Finde und beschreibe sie!

summe = 0 x = 1 while x <= 5 ← Zeile 3 summe = summe + x ← Zeile 4 x = x + 1 ← Zeile 5 (eingerückt) print "Summe:", summe
Fehler 1:
Fehler 2:
Fehler 3:
Teil 6 Code-Ergänzung – Zahlenraten erweitern Selbst bewerten

Ergänze den Code aus Teil 4 so, dass:
1. Nach jedem Versuch Hinweise ausgegeben werden (✓ bereits vorhanden)
2. Maximal 7 Versuche erlaubt sind – danach Niederlagen-Meldung
3. ★★ Nach jedem Hinweis wird ausgegeben, wie viele Versuche noch übrig sind

Teil II – for-Schleife
Teil 7 Multiple Choice – for-Schleife – / 5 Pkt.
A4. Was gibt folgender Code aus?
for i in range(5): print i

A5. Welcher range()-Aufruf erzeugt genau die Zahlen 1, 3, 5, 7, 9?

A6. Welche Aussagen zur for-Schleife sind korrekt? (mehrere möglich)
Teil 8 Lückentext – for-Schleife Fachbegriffe – / 7 Pkt.
for in Laufvariable Zahlenbereich Zählschleife range() Iteration
Die for-Schleife ist eine , die für jeden Wert eines einmal ausgeführt wird. Das Schlüsselwort leitet sie ein, gefolgt von der , dem Schlüsselwort und der Sequenz. Mit der Funktion lässt sich ein Zahlenbereich direkt angeben. Jeden einzelnen Durchlauf der Schleife nennt man .
Teil 9 Code-Analyse – for-Schleife Selbst bewerten
from random import randint summe = 0 treffer = 0 versuche = 10 for i in range(versuche): # Zeile 7 zahl = randint(1, 6) # Würfeln summe = summe + zahl if zahl == 6: treffer = treffer + 1 print "Summe:", summe print "Sechsen:", treffer
D1. Wie oft wird der Schleifenrumpf (Zeilen 8–11) insgesamt ausgeführt?
D2. Welche Werte nimmt die Laufvariable i während der Schleife an?
D3. Was müsste man ändern, damit das Programm 100 statt 10 Würfe simuliert – und warum ist dafür keine while-Schleife nötig?
D4. Schreibe den äquivalenten Code mit einer while-Schleife (gleiche Aufgabe, anderes Konstrukt).
Teil 10 Code schreiben – for-Schleife anwenden Selbst bewerten

Schreibe Python-Code (TigerJython / Python 2.7) für folgende Aufgaben:

E1. Gib alle geraden Zahlen von 2 bis 20 aus (mit range()).
E2. Berechne und gib die Summe aller Zahlen von 1 bis 100 aus.
E3. ★★ Erstelle eine Liste mit drei Namen deiner Wahl und gib jeden Namen mit einer Begrüßung aus, z.B. Hallo, Anna!
Reflexion Selbstreflexion & Gesamtauswertung
✔ Welche Aufgabe war am schwierigsten? Was möchtest du noch üben?

Auswertung

von – Pkt.
Teile 3, 4, 6, 9 und 10 werden selbst bewertet – zählen hier nicht automatisch.
Bewerte sie ehrlich nach den Musterlösungen.