Codebeispiele 1 - Pamina Schulzentrum Herxheim

advertisement
Ü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.
Herunterladen