Übungsbeispiele Python Kontrollstrukturen 1. if – anweisung text1 = "Pack die Badehose ein, nimm dein kleines Schwesterlein ..." text2 = "Hei, hei, hei, so eine Schneeballschlacht ..." text3 = "I'm singing in the rain ..." text4 = "Leise rieselt der Schnee ..." sonst = "Nichts Genaues weiß man nicht!" def wetter(): luftdruck = input('Luftdruck: ') temperatur = input('Temperatur: ') jahreszeit = input('Jahreszeit: ') if (luftdruck == 'steigt' and temperatur == 'steigt' and jahreszeit == 'Sommer'): print text1 elif (luftdruck == 'steigt' and temperatur == 'fällt' and jahreszeit == 'Winter'): print text2 elif (luftdruck == 'fällt' and temperatur == 'fällt' and jahreszeit == 'Sommer'): print text3 elif (luftdruck == 'fällt' and temperatur == 'steigt' and jahreszeit == 'Winter'): print text4 else: print sonst # testen wetter() 2. for – schleife Näherungsweise Berechnung der Kreiszahl mit der Methode von Monte Carlo. Es werden in einem Quadrat Zufallszahlen für die x- und y-Koordinate eines Punktes zwischen 0 und 1 erzeugt. Dann wird gezählt, wie viele Punkte davon in einen Viertelkreis fallen. Das Verhältnis Anzahl der Punkte im Viertelkreis zu Anzahl der Punkte insgesamt multipliziert mit der Zahl 4 liefert etwa die Kreiszahl . Die Näherung für ist um so besser, je mehr Zufallspunkte erzeugt worden sind. Programm: # pi-monte_carlo.py # pi-Bestimmung mit der Methode von Monte Carlo from random import random print "Monte Carlo Methode zur" print "Näherung für pi:" g = input("Gesamtzahl der Tropfen: ") v = 0 x=0; y=0 # Koordinaten des Punktes P for i in range(1,g+1): x = random() y = random() if x*x+y*y<= 1: v = v + 1 pi_naeh = 4.0*v/g print g,"Tropfen, davon",v,"Tropfen im Viertelkreis," print "pi etwa",pi_naeh Ausgabe: Monte Carlo Methode zur Näherung für pi: Gesamtzahl der Tropfen: 1000000 1000000 Tropfen, davon 785252 Tropfen im Viertelkreis, pi etwa 3.141008 3. while – schleife def euro(): euro = 1 while euro > 0: euro = input('Euro-Betrag eingeben (Ende: 0 eingeben) ') if euro > 0: dm = euro * 1.95583 print 'Das sind dann', dm , 'DM.' else: print 'Ciao!' ###### euro() Funktionen 1. Beispiel 1 def return_sum(x,y): c = x + y return c res = return_sum(4,5) print(res) 2. Beispiel 2 def arithmetic_mean(*args): sum = 0 for x in args: sum += x return sum print(arithmetic_mean(45,32,89,78)) print(arithmetic_mean(8989.8,78787.78,3453,78778.73)) print(arithmetic_mean(45,32)) print(arithmetic_mean(45)) print(arithmetic_mean()) Ein- und Ausgabe (idle) 1. Beispiel 1 while True: try: eingabe = input("Eine Zahl eingeben: ") zahl = int(eingabe) break except ValueError: print "Bitte eine ganze Zahl eingeben." Variablentypen 1. Strings http://www.tutorialspoint.com/python/python_strings.htm 2. Listen • Strings und Tuples sind 'immutable', d.h. sie können nicht verändert werden. Listen sind im Gegensatz dazu veränderbar. • Es können beliebig Listeneinträge hinzugefügt oder entfernt werden. Die Länge muss nicht wie in vielen anderen Programmiersprachen vorher definiert werden. • Der erste Eintrag in einer Liste wird mit einer Null angesprochen. • Code: mylist=['Das', 'Wetter'] mylist.append('schön') mylist[1]='Leben' mylist.insert(2, 'ist') print mylist # Das Ergebnis? • Listen von Listen für Arrays In Python a 2x2 array is [[1,2],[3,4]] with the list [1,2] representing the first row and the list [3,4] representing the second row. You can use slicing to index the array in the usual way. For example, if myArray=[[1,2],[3,4]]then myArray[0] is the list [1,2] and myArray[0][1]is 2 As long as you build your arrays as nested lists in the way described then you can use slicing in the same way as you would array indexing. That is: myArray[i][j]is the i,jth element of the array. For example, to do something with each element in myArray you might write: for i in range(len(myArray)): for j in range(len(myArray[i])): print myArray[i][j] Where len(myArray) us used to get the number of rows and len(myArray[i])) to get the number of elements in a row.