print("Zählen per while-Schleife") i = 1 while i <= 10: print(i) i = i + 1
Öffne ein neues Python-Programm namens while-vielfache-von-drei.py.
Kopiere das obige Zählprogramm und ändere es so, dass es alle durch 3 teilbaren Zahlen zwischen 0 und 99 ausgibt (sowohl 0 als auch 99 sollen ausgegeben werden).
Schreibe ein Programm, dass die Quadrate aller Zahlen von 1 bis zu einer am Anfang des Programms vereinbarten Zahl n, etwa n = 5,aufsummiert (d.h. es soll $1+4+9+\dots+n^2$ berechnet werden). Am Ende soll die Summe all dieser Quadratzahlen in der Form
Die Summe aller Quadratzahlen von 1 bis n = ... beträgt ....
ausgegeben werden, wobei die Punkte durch konkrete Zahlen zu ersetzen sind.
Hinweis: Verwende neben einer “Zählvariablen” i eine Variable summe, die du vor der while-Schleife auf Null setzt und innerhalb der while-Schleife jeweils um das Quadrat von i erhöhst.
Berechne mit Python die Summe $$s = 1 + \frac 14 + \frac19 + \frac1{16} + \dots + \frac1{1'000'000^2} = \frac 1{1^2}+ \frac 1{2^2} + \frac 1{3^2} + \frac 1{4^2} + \dots + \frac1{1'000'000^2}$$ der Kehrwerte der Quadrate aller natürlichen Zahlen von 1 bis 1'000'000.
Dann gib die Zahl $\sqrt{6 \cdot s}$ aus. Was fällt dir auf?
Hinweis: x**0.5 berechnet $x^{0.5}=x^{\frac 12}=\sqrt{x}$.
(Bitte möglichst nicht das in der zweiten Woche geschriebene Programm anschauen!)
Schreibe ein Programm, das vom Benutzer eine Zahl n einliest und alle Teiler von n ausgibt.
Zusätzlich soll das Programm am Ende die Anzahl der Teiler von n ausgeben und mitteilen, ob n eine Primzahl ist oder nicht.
Hinweis: Verwende neben der “Zählvariablen” i, die alle Zahlen von 1 bis zur eingegebenen Zahl durchläuft, eine weitere Variable anzahl_teiler, die anfangs Null ist und genau dann um eins erhöht wird, wenn i ein Teiler von n ist.
Schreibe ein Python-Programm, das den folgenden “Slalomtext” ausgibt (sagen wir einhundert Zeilen davon).
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
Schleifen sind cool!
...
Hinweise:
i, die in einer while-Schleife alle Werte von 0 bis hundert annimmt.i durch 10 in einer Variablen r.r ab, da sich das Muster periodisch alle 10 Zeilen wiederholt.Bemerkung: Falls du den Programmablauf verlangsamen möchtest:
import time ganz am Anfang deines Programms. Damit werden die Befehle aus der Bibliothek time verwendbar. time.sleep(0.1). Der Computer pausiert dann 0.1 Sekunden.Im Abschnitt über if-statements hast du einen Kopfrechentrainer geschrieben, das den Benutzer nach dem Produkt zweier Zufallszahlen fragt (siehe Aufgabe Kopfrechentrainer).
Erweitere dieses Programm nun so, dass dem Benutzer so lange Multiplikationsaufgaben gestellt werden, bis der Benutzer “q” wie quit eingibt.
Dem Benutzer soll am Ende mitgeteilt werden, wie viel Prozent der Aufgaben er richtig beantwortet hat.
Schreibe ein Programm, dass alle Primzahlen bis n = 1000 ausgibt.
Hinweis: Gehe alle Zahlen von 1 bis n nacheinander durch und teste jeweils, ob es sich um eine Primzahl handelt. Dafür kannst du einige Code-Zeilen aus dem zuvor geschriebenen “Teiler-Programm” verwenden.
Bemerkung: Schneller geht die Erzeugung einer Primzahlliste etwa mit dem Sieb des Eratosthenes. Dazu benötigt man aber Listen, wie wir sie bald kennenlernen werden.