This is an old revision of the document!
Wiederholungen mit for-loops
Testen und verstehen Sie folgendes Programm (auch mit Hilfe der Erklärungen unten).
for i in range(20): print("%2d im Quadrat ist %3d" % (i, i*i)) print("fertig")
Struktur eines for-loops:
- Doppelpunkt am Ende der Zeile mit dem
for
- Der Code, der wiederholt wird, wird eingerückt.
- range(n) heisst von 0 bis n-1
- Die Laufvariable (im obigen Beispiel
i
) nimmt bei jedem Durchgang den nächsten Wert an.
Schreiben Sie ein Programm, das die Neuansteckungen mit Corona simuliert mit einer wöchentlichen Zunahme um 15%. Die Ausgabe soll z.B. wie folgt aussehen:
Aktuelle Zahl 500, wöchentliche Zunahme 15% Woche 0: 500 Woche 1: 575 Woche 2: 661 Woche 3: 760 Woche 4: 874 Woche 5: 1005 Woche 6: 1156 Woche 7: 1330 Woche 8: 1529 Woche 9: 1758 Woche 10: 2022 Woche 11: 2326 Woche 12: 2675
Programmieren Sie Ihr Programm so, dass die akutelle Zahl und die Zuwachsrate am Anfang des Programm als Variablen definiert werden.
Die Summe der ersten $n$ Zahlen werden auch Dreieckszahlen genannt, weil damit mit Kugeln ein Dreieck legen kann. Diese Zahlen können wie folgt berechnet und ausgegeben werden:
summe = 0 for n in range(11): summe = summe + n print("Dreieckszahl %2d ist %3d" % (n,summe))
Mit diesen Kugeldreiecken lassen sich Pyramiden bauen (genauer Tetraeder). Wie viele Kugeln hat die Pyramide mit Seitenlänge 10? Schreiben Sie ein Programm, dass alle Tetraeder-Zahlen ausgibt.
Schreiben Sie ein Programm, das die Anzahl Zeilen einliest, und dann ein folgendes Dreieck (mit dieser Anzahl Zeilen) produziert, hier 5:
* *** ***** ******* *********
Verschachtelte for-loops
<WRAP todo> Man kann for-loops verschachteln, der Code wird dann entsprechend weiter eingerückt.
Testen und verstehen Sie folgenden Code:
for x in range(3): for y in range(5): print("x=%d, y=%d" % (x,y)) print("---")