Algorithmen und Programmieren II Einführung in Python (Teil 2)

Ähnliche Dokumente
OO Programmierung in Java

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Primitive Datentypen

Java Einführung Operatoren Kapitel 2 und 3

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Python Programmieren. Variablen, Ausdrücke und Anweisungen

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmierung in Python

Einführung in die Java- Programmierung

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Propädeutikum zur Programmierung

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen.

Einführung in die C++ Programmierung für Ingenieure

Modul 122 VBA Scribt.docx

Computergrundlagen Programmieren in C

1. Der Einstieg in Java. Was heißt Programmieren?

L6. Operatoren und Ausdrücke

Lua - Erste Schritte in der Programmierung

28. April Python ist eine Interpreter Sprache. einfach durch eigene C Module erweiterbar. Daten werden dynamisch getypt

1 Einführung Erste Schritte Programmierkurs Datentypen Weiterführende Programmierung

Programmierung I Einführung in Python, Beyond the Basics

Diana Lange. Generative Gestaltung Operatoren

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Skriptsprachen am Beispiel Python

Dr. Monika Meiler. Inhalt

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 16

Deklarationen in C. Prof. Dr. Margarita Esponda

Informationsverarbeitung im Bauwesen

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Kurzeinführung in Python

Schritt 1. Schritt 1. Schritt 3. - Analysieren des Problems und Spezifizierung einer Lösung.

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

1 Syntax von Programmiersprachen

Programmieren in Haskell Einführung

VBA-Programmierung: Zusammenfassung

Programmierung in C. Grundlagen. Stefan Kallerhoff

Prinzipielle Ausführungsvarianten I

Einführung in die Programmiersprache C

Teil IV. Grundlagen der Programmierung

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Computergrafik 2: Übung 1. Eclipse, PyDev, NumPy, Matplotlib

Algorithmen und Programmieren II Einführung in Python

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte

1. Der Einstieg in Java

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Algorithmik und Programmieren

Einführung in die Programmierung Arrays, Zeiger, Strings. Arvid Terzibaschian

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Java-Vorkurs Wintersemester 15/16

IT-Basics 2. DI Gerhard Fließ

Skriptsprachen. Python Grundlagen. Kai Dührkop. Lehrstuhl fuer Bioinformatik Friedrich-Schiller-Universitaet Jena

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Die Programmiersprache C

5.4 Klassen und Objekte

Prinzipieller Grundaufbau eines einfachen C-Programmes

Einstieg ins Programmieren mit Python

Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter

Objective-C CheatSheet

Einführung in die Computerlinguistik Einführung in Python (1)

Lua Grundlagen Einführung in die Lua Programmiersprache

Grundlagen der Programmiersprache C++

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

BAUINFORMATIK. SS 2013 Vorlesung 1 Johannes Lange

Einführung in Python (1)

Modellierung und Programmierung 1

Linux Tutorium. 12. Shellprogrammierung. Version vom :38:56

Probeklausur: Programmierung WS04/05

Python-Workshop. Python für C/C++ Programmierer. Carl Friedrich Bolz. Carl Friedrich Bolz

Ruby. Erfinder: Yukihiro Matsumoto Japan 1993 Einflüsse: Smalltalk Perl Eigenschaften: Objektorientiert Interpretiert

Eine Beschreibung des Programms und der dahinter stehenden Philosophie.

Tutorium Rechnerorganisation

Einführung in die Java- Programmierung

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. November 2003

Die freie Programmiersprache Python mit Beispielen für ihren praktischen Einsatz. Python User Group Köln

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken

Informatik I. Informatik I. 6.1 Programme. 6.2 Programme schreiben. 6.3 Programme starten. 6.4 Programme entwickeln. 6.1 Programme.

Internetanbindung von Datenbanken

Sage Tutorium 1. Computermathematik Informatik WS November 2009

Grundlegende Anweisungen in C++

Kompetent objektorientiert programmieren

Thomas Theis. Einstieg in Python. Galileo Press

Repetitorium Informatik (Java)

Einführung in VisualBasic for Applications. Stefan Mahlitz

Proseminar Funktionales Programmieren. Stephan Kreutzer

Beispiel 19. December 4, 2009

Integrierte Office Anwendungen

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 5: Einführung in PHP Stand: Übung WS 2014/2015. Benedikt Schumm M.Sc.

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Einfache Rechenstrukturen und Kontrollfluss II

Transkript:

Einführung in Python Algorithmen und Programmieren II Einführung in Python (Teil 2) SS 2012 Prof. Dr. Margarita Esponda ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 1

Variablen in Python Variablen Funktionale Programmiersprachen Eine Variable stellt nur den symbolischen Namen von einem Wert oder einem Ausdruck, der zu einem Wert ausgewertet werden kann, dar. Der Wert einer Variablen kann nicht verändert werden. Imperative Programmiersprachen Variablen sind Stellen im Speicher, in denen Werte abgelegt werden können. Variablen speichern Zustände. Variablen haben: Typ Namen Wert Adresse Im Programm sichtbar Stelle im Speicher, wo die Variable sich während der Ausführung des Programms befindet. Variablen müssen normalerweise vor der erstmaligen Benutzung deklariert werden. ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 2

Variablen in Python In Python müssen Variablen nicht deklariert werden small = 100 big = 999999999999999999999999999999 b = True f = 3.4 text = "hello" print ( small, big, b, f, text ) prog_name.py Interpreter >>> 100 99999999999999999999999999999 True 3.4 hello ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 3

Das Typsystem von Python Datentyp einer Variablen Python hat dynamische Datentypen, ist aber streng typisiert. Der Datentyp einer Variable wird erst zur Laufzeit festgelegt. Im Gegensatz zur statischen Typisierung, bei der der Datentyp einer Variable explizit deklariert werden muss, wird der Typ einer Variablen aus dem Typ des Werts zur Laufzeit abgeleitet. Quelle einiger schwierig zu findender Fehler. Streng typisiert. ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 4

Das Typsystem von Python Datentyp einer Variablen In C wird damit die minimale Speichergröße, die eine Variable braucht, festgelegt. In modernen Programmiersprachen wird damit der Wert- Bereich, den eine Variable annehmen kann, beschränkt. Python hat ein dynamisches Typsystem Der Datentyp von Variablen wird in Python erst zur Laufzeit festgelegt und kann während der Ausführung des Programms verändert werden. ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 5

Das Typsystem von Python Datentyp von Variablen a = 10 print( type (a) ) a = 10000000000000000000000000000 print( type (a) ) # Integer a = 1.0 print( type (a) ) Eine Variable bekommt erst eine Speicheradresse, nachdem diese zum ersten mal einen Wert zugewiesen bekommt und der Datentyp wird aus dem zugewiesenen Wert abgeleitet. a = 2.0 + 1.0j print( type (a) ) Ausgabe: >>> <class 'int'> <class 'int'> <class 'float'> <class 'complex'> >>> ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 6

Variablen in C Variablendeklarationen in C und in Java Typ Name Wert int x; int y = 10; double area = 0; Semikolon In Java sagt der Datentyp unter anderem, wie viel Speicherplatz benötigt wird, um die entsprechende Variable speichern zu können. Symbolischer Name einer Speicheradresse Der Wert 0 ist der Inhalt der Speicheradresse. ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 7

Kommentare in Python Kommentare in Python """ Blockkommentare: können sich über mehrere Zeilen erstrecken. """ # von hier aus bis Ende der Zeile wird dieser Text ignoriert a = 4 # Kommentar ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 8

Ein-/Ausgabe in Python Eingabe und Ausgabe input ( Promt ) print ( Ausdrücke ) Die input-funktion liest Zeichenketten aus der Standardeingabe ein und gibt diese als Rückgabewert der Funktion zurück. Die print-funktion kann Zeichenketten, Zahlenwerte oder zusammengesetzte Datenstrukturen ausgeben. ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 9

Das Typsystem von Python Dynamisches Typsystem Python Virtuelle Maschine PVM y = 10.0 a = 10 y 10.0 b = 30 sum = a+b mult = a*y a b sum mult 10 30 40 100.0 Speicher ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 10

Zuweisungen in Python Zuweisungen Zieladresse Ausdruck A = B Zuweisungen sind destruktive Anweisungen. Die Adresse mit dem symbolischen Namen A wird mit dem Wert des Ausdrucks B überschrieben. ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 11

Zuweisungen in Python Zuweisungen Zieladresse Ausdruck x = x+2 l-wert Speicherbereich der Variable x r-wert Aktueller Wert der Variable x Zwei verschiedene semantische Bedeutungen des gleichen Symbols. ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 12

Zuweisungen in Python Python-Zucker Multiple-Zuweisungen a, b, c = 2, 3, 5 print ( a, b, c ) >>> 2 3 5 a = b = c = 2 print ( a, b, c ) >>> 2 2 2 x = [a, b] = [1, 2] print ( a, b, x ) >>> 1 2 [ 1, 2 ] ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 13

Einführung in Python Datentypen in Python Datentyp Beispiel Bemerkungen Integer a = 3 Float x = 1.0 Boolean Complex w = True c = 2 + 3j String t = "Text" oder t = 'Text' nicht veränderbar Liste l = [ 5, 3, 1, 6, 8 ] veränderbar Tuple p = ( 35, 0, "Name") nicht veränderbar Dictionary d = { 1:'a', 2:'b', 3:'c'} veränderbar ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 14

Ausdrücke in Python Ausdrücke Ein Ausdruck wird in der Informatik als eine Berechnungsvorschrift verstanden, die einen eindeutigen Wert darstellt. Die einfachsten Ausdrücke in Python sind Konstanten beliebiger Datentypen Beispiel: 1 3.4 "hello" (Literale) Ausdrücke haben keinen l-wert und können nicht auf der linken Seite einer Anweisung stehen. Beispiele: a+b = c oder 3 = c ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 15

Ausdrücke in Python Arithmetische Operatoren Operator Beschreibung + unär ändert nichts an der Zahl - unär ändert das Vorzeichen der Zahl ** binär Power-Operator * binär Multiplikation + binär Addition - binär Subtraktion / binär Division % binär Modulo (Restbildung) // binär Division (immer ganzzahlig) ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 16

Ausdrücke in Python Ausdrücke Ausdrücke haben einen Wert und einen Datentyp Beispiele: Ausdruck Wert Type type casting int("12345") 12345 int int(0xff) 255 int int(3.14) 3 int (3*11//5) 6 int 8%2 0 int 8/3 2.66.. float float(3) 3.0 float 2**(2+1) 8 int pow(2,3) 8 int ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 17

Nützliche Funktionen in Python weitere Operationen >>> help ( int ) Methods defined here: abs (...) x. abs () <==> abs(x) add (...) x. add (y) <==> x+y and (...) x. and (y) <==> x&y bool (...) x. bool () <==> x!= 0 ceil (...) Ceiling of an Integral returns itself. divmod (...) x. divmod (y) <==> divmod(x, y) eq (...) x. eq (y) <==> x==y float (...) x. float () <==> float(x) floor (...)... >>> import math >>>> math.pi, math.e (3.1415926535897931, 2.7182818284590451) >>> help (math) FUNCTIONS acos(...) acos(x) Return the arc cosine (measured in radians) of x. acosh(...) acosh(x)... radians) of x.... ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 18

Nützliche Anweisungen Import-Anweisung Die import-anweisung ermöglicht in Python-Skripten den Zugang auf vorprogrammierte Module Einige interessante Module sind: math: string: sys: os: re: exp, sin, sqrt, pow digits, whitespace stdin, stderr, argv system, path split, match ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 19

Höhere Datenstrukturen in Python Höhere Datenstrukturen Python unterstützt vier sequentielle höhere Datentypen Listen Tuples (dynamic arrays) (immutable lists) Dictionaries (hash tables) ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 20

Höhere Datenstrukturen in Python Listen Eine Liste ist eine veränderbare Sammlung von Objekten verschiedener Datentypen. Beispiele: [] # Leere Liste liste = [1, 3.5, "Zeichenkette", 10] a = [ 'Hi', 4, 0.234 ] ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 21

Höhere Datenstrukturen in Python Zeichenketten- Listen- und Tupel-Operatoren Operator Funktion Beispiel Wert + Verkettung "Eins" + " Zwei" "Eins Zwei" * Wiederholung 2 * "Eins" "EinsEins" in enthalten in 1 in [1,2] TRUE not in nicht enthalten in 3 not in [1,2] TRUE x[i] Indizierung, liefert das Element aus x an der Position i x = "hallo" x[1] a x[i:j] liefert aus x die Elemente von i bis j-1 zurück x = "hallo" x[0:3] hal ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 22

Höhere Datenstrukturen in Python Beispiele: >>> a = [1,2,3,4] >>> a[2] 3 >>> a[2] = 10 >>> a [1, 2, 10, 4] >>> b = a >>> b [1, 2, 10, 4] >>> a[1] = 2000 >>> b [1, 2000, 10, 4] >>> a = [7,6,5,4] >>> a [7, 6, 5, 4] >>> b [1, 2000, 10, 4] Hier wird nur eine Speicheradresse kopiert. Hier wird eine neue Liste erzeugt. b zeigt aber auf die alte Liste. ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 23

Höhere Datenstrukturen in Python Beispiele: >>> a = [1,2,3,4] [1, 2, 3, 4] >>> b = a[:] >>> b [1, 2, 3, 4] >>> a[1] = 2000 >>> b [1, 2, 3, 4] >>> a [1, 2000, 3, 4] >>> a[-1] 4 >>> a[-2] 3 Hier wird die Liste vollständig kopiert. ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 24

Höhere Datenstrukturen in Python Tupel Ein Tupel ist eine Sammlung von Objekten verschiedener Datentypen zu einem Objekt. Im Gegensatz zu einer Liste ist die Folge der Elemente dabei nicht veränderbar. Beispiele: () # Leeres Tupel. (1,) # Tupel mit einem Element. (1,2,3) # Tupel mit drei Elementen. (1, 'Eins') # Tupel mit zwei Elementen. number = (1, 'eins') ALP II: Margarita Esponda, 2. Vorlesung, 14.4.2011 25

Höhere Datenstrukturen in Python Beispiele: >>> a = (1,2,3) >>> b = a >>> b (1, 2, 3) >>> a[2] 3 >>> len(a) 3 >>> a == b True >>> a[0] = 5 Traceback (most recent call last): File "<pyshell#76>", line 1, in <module> a[0] = 5 TypeError: 'tuple' object does not support item assignment >>> a = (5,6,7) >>> b (1, 2, 3) >>> a+b (5, 6, 7, 1, 2, 3) >>> a = a+a >>> a (5, 6, 7, 5, 6, 7) >>> b (1, 2, 3) >>> a*3 (5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7) ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 26

Höhere Datenstrukturen in Python Höhere Datenstrukturen Dictionaries Dictionaries sind eine Sammlung von Schlüssel- und Wertpaaren. Ein Dictionary ist also eine Liste aus Schlüssen (keys), denen jeweils ein Wert (value) zugewiesen ist. Beispiele: {} # Leeres Wörterbuch (Dictionary) { 1:'Goethe', 2:'Schiller', 3:5.67 } atomic_num = {'None' : 0, 'H' : 1, 'He' : 2} ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 27

Höhere Datenstrukturen in Python Höhere Datenstrukturen Dictionaries Beispiele: >>> synonyms = {} >>> synonyms['pretty'] = 'beautiful' >>> synonyms['shy'] = 'timid' >>> synonyms['easy'] = 'facile' >>> synonyms {'shy': 'timid', 'easy': 'facile', 'pretty': 'beautiful'} >>> synonyms['easy'] 'facile' >>> 'pretty' in synonyms >>> True ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 28

Höhere Datenstrukturen in Python Höhere Datenstrukturen Dictionaries - Beliebige Datentypen können kombiniert werden. - Sehr effizient implementiert mit Hilfe von Hashtabellen. Beispiele: >>> dic = {} >>> dic[1] = 'Hi' >>> dic['a'] = 'Hallo' >>> dic[3.1416] = 'pi' >>> dic[(1,2,3,4)] = 'Reihe' >>> dic {'a': 'Hallo', 1: 'Hi', (1, 2, 3, 4): 'Reihe', 3.1416: 'pi'} >>> ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 29

Einführung in Python Wert- vs. Referenz-Semantik Wert-Semantik Ein Ausdruck wird ausgewertet und das Ergebnis direkt in eine Variablen-Adresse gespeichert. Referenz-Semantik Ein Ausdruck wird zu einem Objekt ausgewertet, dessen Speicheradresse in eine Variablen-Adresse gespeichert wird. Python ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 30

Vergleichsoperatoren Vergleichsoperatoren alle binär < Kleiner > Größer <= Kleiner oder gleich >= Größer oder gleich == Gleichheit!= Ungleichheit ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 31

Fallunterscheidung in Python Fallunterscheidung if-else-anweisung a = int(input( "Zahl = " )) if a<0: print ("a ist negativ" ) else: print ( "a ist positiv" ) Einrücken anstatt Klammern a = int(input( "Zahl = " )) if a<0: print ( "a ist negativ" ) elif a==0: print ( "a ist gleich 0" ) else: print ( "a ist positiv" ) ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 32

Fallunterscheidung in Python if-else-anweisung bit = True if bit: print( True ) else: print( False ) bit = 0 if bit: print(true) else: print(false) bit = "Hi" if bit: print(true) else: print(false)! Zahlen und andere Datentypen werden wie in C als Wahrheitswerte interpretiert True False True ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 33

Schleifen in Python for x in ['spam', 'bla', 'eggs']: print (x) for x in [1,2,3,4]: print (x) sum=0 for x in [1,2,3,4,5]: print( sum) for i in range(1,5): sum += i print( sum) sum = sum + x Dic = [(1,'a'), (2,'b'),(3,'c')] for (x,y) in Dic: print (x, y) for-schleifen >>> spam bla eggs >>> 1 2 3 4 >>> 15 >>> 25 >>> 1 a 2 b 3 c ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 34

Schleifen in Python for-schleife for Ausdruck in Sequenz : Anweisungen Bei der for-schleife in Python wird nicht über eine Folge von Zahlen sondern über Elemente einer Sequenz iteriert. # Erzeugt alle Kombinationen von zwei Zeichen aus text text = input ( "text = " ) for i in text: for j in text: print ( i+j ) text = abc aa ab ac ba bb bc ca cb cc ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 35

Logische-Operatoren in Python Logische Operatoren Operator Beschreibung not unär logische Negation or binär logisches Oder and binär logisches Und Bit-Operatoren Operator Beschreibung ~ unär bitweise Inversion (Negation) << binär nach Links schieben >> binär nach Rechts schieben & binär bitweise UND binär bitweise ODER ^ binär bitweise Exklusives Oder ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 36

Schleifen in Python while-anweisung # Berechnet alle Quadratzahlen bis n n = int(input( "n = " )) zaehler = 0 while zaehler<=n: print (zaehler*zaehler) zaehler = zaehler + 1 ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 37

Schleifen in Python while-schleifen import random money = int ( input ( 'money? ' ) ) random.seed() while money>0: if random.randint (0,1) == 0: money += 1 else: money -= 1 print(money) print( 'You are a great loser!' ) Der Zufallsgenerator wird mit einem internen Startwert initialisiert. ALP II: Margarita Esponda, 2. Vorlesung, 17.4.2012 38