1 00:00:05,000 --> 00:00:08,900 Hallo - Python-Programmierung - while-Schleife 2 00:00:09,000 --> 00:00:13,900 Die Zeilen wurden gespeichert als Datei while.py im Ordner Desktop 3 00:00:14,000 --> 00:00:17,900 und die Datei wurde als ausfuehrbar markiert 4 00:00:18,000 --> 00:00:23,900 Eine weitere wichtige Kontrollstruktur in Python ist die while-Schleife 5 00:00:24,000 --> 00:00:27,900 So lange die im Schleifenkopf definierten Bedingungen wahr sind 6 00:00:28,000 --> 00:00:29,900 wird der Schleifenrumpf ausgefuehrt 7 00:00:30,000 --> 00:00:34,900 Ein sehr einfaches Beispiel ist folgende Endlosschleife 8 00:00:35,000 --> 00:00:42,900 while True: (die Bedingung ist wahr) - naechste Zeile 9 00:00:43,000 --> 00:00:45,900 Einruecken - Jetzt kommt der Schleifenrumpf 10 00:00:46,000 --> 00:01:04,900 raw_input(u"Wie war Ihr Name noch gleich?") - Speichern und Ausfuehren 11 00:01:05,000 --> 00:01:09,900 python while.py 12 00:01:10,000 --> 00:01:13,900 Da die Bedingung True immer wahr ist, wird die Schleife nie enden 13 00:01:14,000 --> 00:01:20,900 Durch die Tastenkombination Strg + C kann die Ausfuehrung des Programms aber beendet werden 14 00:01:21,000 --> 00:01:23,900 Sinnvoller ist eine derartige Schleife natuerlich 15 00:01:24,000 --> 00:01:25,900 wenn eine Abbruchbedingung definiert wird 16 00:01:26,000 --> 00:01:29,900 Denkbar waere hier beispielsweise das Sammeln von Namen 17 00:01:30,000 --> 00:01:33,900 bis der Benutzer das Programm durch die Eingabe von exit beendet 18 00:01:34,000 --> 00:01:36,900 das koennte so aussehen 19 00:01:37,000 --> 00:01:42,900 names = [] - naechste Zeile 20 00:01:43,000 --> 00:01:46,900 running = True - naechste Zeile 21 00:01:47,000 --> 00:01:56,900 while running: (die Bedingung) - naechste Zeile - jetzt kommt der Schleifenrumpf 22 00:01:57,000 --> 00:02:41,900 Einruecken - user_input = unicode(raw_input(u"Geben Sie einen Namen ein oder exit zum Beenden > ")) - naechste Zeile 23 00:02:42,000 --> 00:03:00,900 Einruecken - if user_input == u"exit": - naechste Zeile 24 00:03:01,000 --> 00:03:08,900 Zwei mal Einruecken - running = False - naechste Zeile 25 00:03:09,000 --> 00:03:11,900 Einruecken - else: - naechste Zeile 26 00:03:12,000 --> 00:03:23,900 Zwei mal Einruecken - names.append(user_input) - naechste Zeile 27 00:03:24,000 --> 00:03:43,900 print u"Sie haben folgende Namen eingegeben:" - naechste Zeile 28 00:03:44,000 --> 00:03:50,900 print names - Speichern und Ausfuehren 29 00:03:51,000 --> 00:03:59,900 Tim und Tom koennte man eingeben - und bei exit wird das Programm beendet 30 00:04:00,000 --> 00:04:02,900 Wichtig ist hier die Funktion unicode() 31 00:04:03,000 --> 00:04:07,900 Sie wandelt in Python 2.x die Eingabe des Benutzers in Unicode um 32 00:04:08,000 --> 00:04:11,900 Da in Python 3.x von Haus aus mit Unicode-Zeichenketten gearbeitet wird 33 00:04:12,000 --> 00:04:13,900 gibt es diese Funktion dort nicht mehr 34 00:04:14,000 --> 00:04:20,900 Hinweis: Nutzer von Python 3 verwenden statt raw_input lediglich input 35 00:04:21,000 --> 00:04:23,900 Zwischenfazit: Kontrollstrukturen 36 00:04:24,000 --> 00:04:28,900 Fuer die Kontrollstrukturen if, for und while gilt 37 00:04:29,000 --> 00:04:40,900 Jede Kontrollstruktur besteht aus einem Kopf - das oder das z.B. 38 00:04:41,000 --> 00:04:48,900 der die Ausfuehrungsbedingungen definiert und einem Rumpf, der ausgefuehrt werden soll 39 00:04:49,000 --> 00:04:58,900 bei while waere das der Rumpf und bei if waere das der Rumpf - beziehungsweise das 40 00:04:59,000 --> 00:05:07,900 Der Kopf einer Kontrollstruktur wird immer mit einem Doppelpunkt abgeschlossen 41 00:05:08,000 --> 00:05:17,900 Der Rumpf einer Kontrollstruktur muss immer um eine Ebene eingerueckt werden 42 00:05:18,000 --> 00:05:21,900 Die Einrueckungen muessen immer gleichmaessig sein 43 00:05:22,000 --> 00:05:30,900 Kontrollstrukturen koennen natuerlich auch verschachtelt werden - wie hier bei if zum Beispiel 44 00:05:34,000 --> 00:05:36,900 Tschau und viel Glueck