Musterlösung
= ["Bruno", "Berta","Helmi"]
hunde = ["Greta", "Xavier", "Zachy"]
katzen
for katze in katzen:
for hund in hunde:
print(hund, "beisst", katze+" und "+katze, "kratzt ", hund)
Erstelle zwei Listen bestehend aus 3 Hundenamen (hunde
) und 3 Katzennamen (katzen
). Erstelle einen verschachtelten For Loop, wo jeder Hund jede Katze beisst und jede Katze jeden Hund kratzt.
Bruno beisst Greta und Greta kratzt Bruno
Berta beisst Greta und Greta kratzt Berta
Helmi beisst Greta und Greta kratzt Helmi ....
= ["Bruno", "Berta","Helmi"]
hunde = ["Greta", "Xavier", "Zachy"]
katzen
for katze in katzen:
for hund in hunde:
print(hund, "beisst", katze+" und "+katze, "kratzt ", hund)
Erstelle einen verschachtelten Loop, wo alle Kombinationen von 0 bis 9 miteinander addiert werden.
= []
addition
= range(10)
werte
for i in werte:
for j in werte:
= i+j
resultat addition.append(resultat)
Nutze die Funktion offset_coordinate
(Lösung aus Übung 8.5) um einen Punkt in einem Koordinatensystem zu verschieben. Diesmal soll der Punkt aber nicht nur 1x, sondern 100x verschoben werden (100 Simulationen).
import random
def offset_coordinate(old, distance = 100):
= old + random.normalvariate(0, distance)
new return new
= 0
x_start = 0
y_start
= []
x_random = []
y_random for i in range(100):
= offset_coordinate(x_start)
x_new = offset_coordinate(y_start)
y_new
x_random.append(x_new) y_random.append(y_new)
Versuche die Monte Carlo Simulation für die Annäherung an Pi (aus der ersten Übung “Datenqualität und Unsicherheit) mit einer Funktion und einem For Loop zu lösen.
Zur Erinnerung, die Vorgehensweise für die Annäherung an Pi geht folgendermassen:
x
, y
) zwischen 0 und 1 erstellenTipps:
random()
aus dem modul random
For loop
mit range(100)
(für 100 Wiederholungen)import random
# erstelle eine Funktion, die zwei Zufallszahlen zwischen 0 und 1 generiert,
# die Distanz zum Ursprung (0,0) berechnet und True retourniert, wenn der Wert ausserhalb des Kreisviertels liegt
def get_pi():
= random.random()
x = random.random()
y = (x**2+y**2)**0.5
pythagoras = pythagoras > 1
ausserhalb return ausserhalb
get_pi()
# die Funktion 100x wiederholen und die Anzahl Werte > 1 zählen
= [get_pi() for x in range(100)]
res
# Anteil der Werte > 1 berechnen und mit 4 multiplizieren
100-sum(res))/100*4 (