Der Computer soll in den seltensten Fällen immer wieder genau dasselbe machen. Dafür baut man Automaten. Das bedeutet, dass der Computer immer wieder an bestimmten Stellen vorgefertigte Entscheidungen treffen soll und reagieren soll. Manchmal auch mehrfach. Die Strukturen, die Programmiersprachen dafür zur Verfügung stellen, nennt man Kontrollstrukturen, da sie einen geradelinigen Ablauf irgendwelcher Anweisungen kontrollieren bzw. ändern können. Es gibt zwei Arten von Kontrollstrukturen:
Heute werden wir uns erst weiter um Schleifen kümmern.
Beim letzten Mal haben wurde ein einfaches Beispiel programmiert, dass eigentlich nie aufhört. Das ist natürlich eigentlich nicht so prickelnd. Also gibt es folgende Variante. Das Programm endet mit der Eingabe von Ende
statt einer Zahl. In while
-Schreibweise formuliert, müsste man sagen: Solange die Eingabe ungleich „Ende“ ist, wird der folgende Teil wiederholt.
x = "Los geht's..." while x != "Ende": x = input("Zahl: ") x = float(x) y = 3*x**2 + 2.5*x -3 print (y) print ("Da ist das Ende!")
Dabei gibt es allerdings ein Problem. Das Programm endet immer mit einem Fehler, da Python nach der Eingabe von „Ende“ versucht diesen Text in eine float-Variabel umzuwandeln, was natürlich nicht funktioniert. Daher darf die Umwandlung, Rechnung und Ausgabe nur dann erfolgen, wenn der Benutzer nicht „Ende“ eingegeben hat. Also: „Wenn x ungleich Ende ist, dann…“
Aber darum kümmern wir uns nächste Stunde…