Python :: Aufgabe #178 :: Lösung #3
4 Lösungen

#178
kleine simulation zweier zufallsereignisse
Anfänger - Python
von hollst
- 21.03.2018 um 21:25 Uhr
Gegeben seien zwei unabhängige Zufallsereignisse A und B, wobei A mit einer
Wahrscheinlichkeit von 70 % eintritt und B mit eine Wahrescheinlichkeit von 10 %.
Durch (MontoCarlo-) Simulation schätze man ab, mit welchen Wahrscheinlichkeiten das Doppelereignis (A, B)
vorkommt für die Fälle
a) weder A noch B sind eingetreten,
b) entweder A oder B (oder beide) ist (sind) eingetreten.
Man kann das natürlich auch ausrechnen, aber grau ist bekanntlich alle Theorie.
Wahrscheinlichkeit von 70 % eintritt und B mit eine Wahrescheinlichkeit von 10 %.
Durch (MontoCarlo-) Simulation schätze man ab, mit welchen Wahrscheinlichkeiten das Doppelereignis (A, B)
vorkommt für die Fälle
a) weder A noch B sind eingetreten,
b) entweder A oder B (oder beide) ist (sind) eingetreten.
Man kann das natürlich auch ausrechnen, aber grau ist bekanntlich alle Theorie.
#3

von tebarius (470 Punkte)
- 11.09.2018 um 21:21 Uhr

#Python3.7 # -*- coding: iso-8859-15 -*- import random random.seed() testanzahl=100000 AoB=0 #Zähler für den Fall A_oder_B AuB=0 #Zähler für den Fall A_und_B Aa=0 #Zähler für den Fall A Ba=0 #Zähler für den Fall B ABnot=0 #Zähler für weder A noch B for i in range(testanzahl): a = random.randint(0,9) b = random.randint(0,9) if a<7: at=True Aa+=1 else:at=False if b==9: bt=True Ba+=1 else:bt=False if at or bt:AoB+=1 if at and bt:AuB+=1 if not at and not bt:ABnot+=1 print("Bei {} Versuchen trat der Fall A {} mal, der Fall B {} mal und keines von beiden {} mal ein.".format(testanzahl,Aa,Ba,ABnot)) print("Der Fall A_oder_B trat dabei {} mal und der Fall A_und_B {} mal auf.".format(AoB,AuB)) print() Aap=round(100/testanzahl*Aa,2) Bap=round(100/testanzahl*Ba,2) AoBp=round(100/testanzahl*AoB,2) AuBp=round(100/testanzahl*AuB,2) ABnotp=round(100/testanzahl*ABnot,2) print("Bei {} Versuchen trat der Fall A zu {}%, der Fall B zu {}% und keines von beiden zu {}% ein.".format(testanzahl,Aap,Bap,ABnotp)) print("Der Fall A_oder_B ist dabei zu {}% und der Fall A_und_B zu {}% eingetreten.".format(AoBp,AuBp))
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1