if elif while for Schleifenabbruch Anweisungen in Python Prof. Dr. Rüdiger Weis TFH Berlin Wintersemester 2008/2009 Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif 1 if 2 elif 3 while 4 for 5 Schleifenabbruch Prof. Dr. Rüdiger Weis Anweisungen in Python while for Schleifenabbruch TFH Berlin if elif while for Schleifenabbruch Blockbildung Blockbildung durch Einrücken Keine Klammerung Empfehlungen Leerzeichen verwenden 4 Leerzeichen einrücken Unterstützenden Editor (z.B. emacs) verwenden Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch if Anweisung if..else if <bedingung> : <anweisung> [else : <anweisung>] : statt THEN else optional Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch Beispiel antwort=raw_input("Was ist der Sinn des Lebens ? ") if antwort==’42’: print("Falscher Film!") else: print(antwort+’ ist eine sehr interessante Antwort.’) Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch if..elif if..elif if <bedingung> : <anweisung> [elif <bedingung> : <anweisung>] Kurzform von else : if <Bedingung> Spart Einrücken elif optional elif und else sind kombinierbar. Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch Beispiel mit elif antwort=raw_input("Was ist der Sinn des Lebens ? ") if antwort==’42’: print("Falscher Film!") elif antwort==’Geld’: print(’Wenn Sie meinen.’) else: print(antwort+’ ist eine interessante Antwort.’) Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch Beispiel mit else if antwort=raw_input("Was ist der Sinn des Lebens ? ") if antwort==’42’: print("Falscher Film!") else: if antwort==’Geld’: print(’Wenn Sie meinen.’) else: print(antwort+’ ist eine interessante Antwort.’) Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch while Anweisung while while <bedingung> : <anweisung> [else : <anweisung>] <Bedingung> boolescher Ausdruck Einfache Anweisung kann in selber Zeile stehen. else optional else wird ausgeführt, wenn die Schleife ohne break verlassen wird. Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch Beispiel print(’Deep Philosopher of Python’) print(’~~~~~~~~~~~~~~~~~~~~~~~~~~’) print(’Leere Eingabe startet DPoP’) eingaben=[] antwort=raw_input("Was ist der Sinn des Lebens ? ") while antwort<>"": eingaben.append(antwort) print(’Was ausser ’+antwort+’ koennte noch stimmen ?’), antwort=raw_input() else : print (’~~~~~~~~~~~~~~~~~~~~~~~~~~’) print(’Vielen Dank fuer ihre folgenden Antworten : ’) print(eingaben) print(’In 2**42 Stunden werde ich Ihnen die richtige mitteilen.’) print(’Noch viel Spass am Geraet.’) Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch for Anweisung for Anweisung for <element> in <folge> : <anweisung> [else : <anweisung>] for iteriert über eine Sequenz Liste Tupel String Die ’Schleifenvariable’ <Elemente> wird nacheinander mit den Elementen der Sequenz belegt. else wird ausgeführt, wenn die Schleife ohne break verlassen wird. Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch for bei Strings >>> seq="Monty Python" >>> for element in seq : print(element*3), ... MMM ooo nnn ttt yyy PPP yyy ttt hhh ooo nnn Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch for bei Tupeln >>> seq=(1,(’a’,’b’),’Spam’) >>> for element in seq:print(element*3) ... 3 (’a’, ’b’, ’a’, ’b’, ’a’, ’b’) SpamSpamSpam Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch for bei Listen >>> seq=[1,(’a’,’b’),’Spam’] >>> for element in seq:print(element*3) ... 3 (’a’, ’b’, ’a’, ’b’, ’a’, ’b’) SpamSpamSpam Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch Schleifenabbruch break versus continue break Anweisung springt hinter die umgebenden for oder while Schleife. continue Anweisung springt zur Schleifen-Bedingung-Zeile der umgebenden for oder while Schleife. Ein else block der for oder while Anweisung wird übersprungen. Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch Beispiel print(’Deep Philosopher of Python’) print(’~~~~~~~~~~~~~~~~~~~~~~~~~~’) print(’Leere Eingabe startet DPoP’) eingaben=[] antwort=raw_input("Was ist der Sinn des Lebens ? ") while antwort<>"": if ’Geld’ in antwort : break eingaben.append(antwort) print(’Was ausser ’+antwort+’ koennte noch stimmen ?’), antwort=raw_input() else : print (’~~~~~~~~~~~~~~~~~~~~~~~~~~’) print(’Vielen Dank fuer ihre folgenden Antworten : ’) print(eingaben) print(’In 2**42 Stunden werde ich Ihnen die richtige mitteilen.’) print(’Noch viel Spass am Geraet.’) Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin if elif while for Schleifenabbruch c opyleft c opyleft Erstellt mit Freier Software c Rüdiger Weis, Berlin 2008 unter der GNU Free Documentation License. Prof. Dr. Rüdiger Weis Anweisungen in Python TFH Berlin