#separator:tab #html:true #tags:python-loops-quiz #columns:Vorderseite Rückseite

Was gibt dieses Programm aus?

for number in range(2, 10, 3):
print(number)
  1. 2, 5 und 8, jede Zahl auf einer eigenen Zeile
  2. 2, 5, 8 und 11
  3. 3, 6 und 9
  4. 2, 3, 4, 5, 6, 7, 8 und 9

range(anfang, ende, schritt) beginnt bei anfang, zählt in Schritten von schritt und hört vor ende auf: 2, 5, 8.

"

Wie oft gibt for i in range(5): print(""Hallo"") den Gruß aus?

  1. Viermal
  2. Fünfmal
  3. Sechsmal
"

Mit einem Argument beginnt range() bei 0 und endet vor der Zahl, und deshalb liefert range(5) genau fünf Zahlen und die Schleife fünf Runden.

Was gibt dieses Programm aus?

total = 0
for number in [4, 7, 1, 8]:
if number > 3:
total += number
print(total)
  1. 20
  2. 19
  3. 3
  4. 8

Die Sammelvariable beginnt bei 0, und in jeder Runde, in der die Zahl größer als 3 ist, kommt sie dazu: 4, dann 11, dann 19.

Jemand will die Preise addieren und erhält 3.5. Warum?

for price in [2.5, 1.0, 3.5]:
total = 0
total += price
print(total)
  1. print() steht an der falschen Stelle und müsste eingerückt sein.
  2. total = 0 steht im Rumpf und setzt die Summe in jeder Runde zurück.
  3. Bei Kommazahlen rechnet += nicht zuverlässig.

Eine Sammelvariable bekommt ihren Anfangswert vor der Schleife. Im Rumpf wird sie in jeder Runde wieder auf 0 gesetzt, und am Ende hält sie nur noch den letzten Preis.

Was gibt dieses Programm aus?

number = 100
rounds = 0
while number > 10:
number = number // 2
rounds += 1
print(rounds, number)
  1. 4 6
  2. 3 12
  3. 4 6.25
  4. 5 3

Die Bedingung wird vor jeder Runde geprüft: 100, 50, 25 und 12 sind größer als 10, 6 nicht mehr. Das ergibt vier Runden und den Endwert 6.

Welche dieser Schleifen hören nie auf, wenn count vorher 0 ist? (mehrere richtig)

  1. while count < 3: print(count)
  2. while count < 3: count += 1
  3. while count < 3: count -= 1
  4. while count > 3: count += 1

Eine while-Schleife endet nur, wenn ihr Rumpf die Bedingung irgendwann falsch macht. Hält ein Programm im Browser nicht an, beendet die Schaltfläche Stopp es.

Für welche Aufgaben ist while die passende Schleife? (mehrere richtig)

  1. Jeden Einkauf einer Liste auf eine eigene Zeile schreiben
  2. So lange nach dem Alter fragen, bis eine Zahl über 0 eingegeben wird
  3. Die Zahlen von 1 bis 10 ausgeben
  4. Ausrechnen, nach wie vielen Jahren sich ein Sparbetrag verdoppelt hat

for passt, wenn eine Liste, ein Text oder eine feste Zahl von Runden den Ablauf vorgibt, while, wenn sich das Ende erst in der Schleife zeigt.

"

Was gibt dieses Programm aus?

for number, item in enumerate([""Milch"", ""Brot""], start=1):
print(number, item)
  1. 0 Milch und 1 Brot
  2. 1 Milch und 2 Brot
  3. Milch 1 und Brot 2
"

enumerate() liefert in jeder Runde die Nummer und das Element, die Schleife verteilt sie auf number und item, und start=1 lässt die Zählung bei 1 beginnen.