Aufgabenblock — AFB II
Zehn Aufgaben aus dem ganzen Kapitel: Programme im Kopf ablaufen lassen, Werte in einer Tabelle mitschreiben und in mehreren Schritten zum Ergebnis kommen — mit gestuften Tipps, wenn du nicht weiterkommst.
Das Programm rechnet nur mit zwei Variablen.
a = 4b = 10a = a + bb = a - ba = a - bprint(a, b)
a) Welchen Wert hat a am Ende? b) Welchen Wert hat b am Ende?
Vollständige Lösung
Mila tippt nacheinander 4 und 2.5 ein.
stueck = int(input("Stück? "))preis = float(input("Preis? "))gesamt = stueck * preisprint("Gesamt:", gesamt)
a) Welchen Zahlenwert hat gesamt? b) Welchen Datentyp hat gesamt (int, float, str oder bool)?
Vollständige Lösung
Gesamt: 10.0.Eine Stoppuhr zeigt nur Sekunden an.
sekunden = 500minuten = sekunden // 60rest = sekunden % 60print(minuten, "min", rest, "s")
a) Welchen Wert hat minuten? b) Welchen Wert hat rest?
Vollständige Lösung
8 min 20 s. Mit 500 / 60 hätte man dagegen 8.333… erhalten.Ein Freizeitpark prüft, wer in eine Achterbahn darf.
groesse = 132alter = 11begleitung = Trueprint(groesse >= 140 or begleitung)print(groesse >= 120 and alter >= 12)print(not begleitung or groesse > 130)
a) Was gibt Zeile 5 aus? b) Was gibt Zeile 6 aus? (True oder False)
Vollständige Lösung
and müssen beide wahr sein → False. Zeile 6: not wird zuerst ausgewertet: not True = False. 132 > 130 ist True, und bei or reicht eine wahre Seite → True. (Zeile 4 gibt übrigens True aus.)Jeden Tag wird die Hälfte des Wassers (in ml, ganzzahlig) verbraucht.
wasser = 500tage = 0while wasser >= 60: wasser = wasser // 2 tage = tage + 1print(tage, wasser)
a) Welchen Wert hat tage am Ende? b) Welchen Wert hat wasser am Ende?
Vollständige Lösung
Die Schleife untersucht die Zahlen von 1 bis 19.
summe = 0anzahl = 0for z in range(1, 20): if z % 3 == 0: summe = summe + z anzahl = anzahl + 1print(anzahl, summe)
a) Welchen Wert hat anzahl am Ende? b) Welchen Wert hat summe am Ende?
Vollständige Lösung
6 63.Die Liste wird in drei Schritten verändert.
punkte = [7, 3, 9, 4]punkte.append(6)punkte.pop(1)punkte[0] = punkte[0] + 2print(len(punkte), sum(punkte))
a) Wie viele Elemente hat die Liste am Ende? b) Wie groß ist ihre Summe?
Vollständige Lösung
Das Programm geht die Zeichenkette Zeichen für Zeichen durch.
satz = "Banane und Ananas"anzahl = 0for zeichen in satz: if zeichen == "a": anzahl = anzahl + 1print(anzahl)
a) Was gibt das Programm aus? b) Was gibt es aus, wenn man Zeile 3 zu for zeichen in satz.lower(): ändert?
Vollständige Lösung
"A" == "a" False ist. Mit satz.lower() wird es vorher zu „a“, dann sind es 5.Die Funktion liefert die größere von zwei Zahlen zurück.
def maximum(a, b): if a > b: return a return bx = maximum(3, 8)y = maximum(x, 5) + maximum(-2, -6)print(x, y)
a) Welchen Wert hat x? b) Welchen Wert hat y?
Vollständige Lösung
Tom tippt nacheinander Paris (mit Leerzeichen am Ende), 21 und Weiss ein.
fragen = ["Hauptstadt von Frankreich?", "3 * 7?", "Farbe von Schnee?"]loesungen = ["paris", "21", "weiß"]punkte = 0for i in range(len(fragen)): antwort = input(fragen[i] + " ") if antwort.strip().lower() == loesungen[i]: punkte = punkte + 1print(punkte, "von", len(fragen))
a) Wie viele Punkte bekommt Tom? b) Wie viele Punkte wären es, wenn in Zeile 6 .strip() fehlen würde?
