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
