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

4 Lösungen Lösungen öffentlich
#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.
#3
vote_ok
von tebarius (470 Punkte) - 11.09.2018 um 21:21 Uhr
Quellcode ausblenden Python-Code
#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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben