Ich schreibe zurzeit an einem Programm,welches verschiedene Wettstrategien statistisch untersuchen soll.
Dabei bin Ich auf zwei Probleme gestoßen.
1. Wenn Ich die reversed Martingale Strategie und die Fibonacci Strategie teste bekomme Ich in der Ausgabe nix
2. Wie bekomme Ich es hin,dass das Programm in der Fibonacci Strategie bei einem Verlust um 2 Schritte in der Folge nach vorne geht und bei einem Gewinn um einen Schritt nach hinten.
Code: Alles auswählen
def reverse_martingale_Strategy(Starteinsatz,Startkapital):
Anzahl_an_Spielen = 0
Anzahl_an_verlorenen_Spielen = 0
Anzahl_an_gewonnenen_Spielen = 0
Laenge_Gluecksstraehne = 5
Einsatz = Starteinsatz
while Startkapital > 0 and Startkapital < Startkapital*2 and Anzahl_an_Spielen < 1000:
# Simulation eines zweiwertigen Wettspiels
Kopf_oder_Zahl = randint(0,1)
# Aktionen die passieren,wenn man verliert
if Kopf_oder_Zahl == 0:
Startkapital = Startkapital-Starteinsatz
Anzahl_an_verlorenen_Spielen = Anzahl_an_verlorenen_Spielen+1
Einsatz = Starteinsatz
# Aktionen die passieren,wenn man gewinnt
elif Kopf_oder_Zahl == 1:
# Zähler für die Anzahl an gewonnenen Spielen
Anzahl_an_gewonnenen_Spielen = Anzahl_an_gewonnenen_Spielen+1
Startkapital = Startkapital+Einsatz*2
# Gibt an wie lange man die reversed Martingale Strategy anwenden soll (Länge der Glückssträhne) und gibt an,dasss man aufhören soll
# falls die Strähne reißt
while Laenge_Gluecksstraehne != 0 and Kopf_oder_Zahl == 1:
# Wenn der Einsatz höher ist als das Kapital soll man das gesamte Kapital einsetzen
if Einsatz > Startkapital:
Einsatz = Startkapital
Startkapital = Startkapital-Einsatz
# Verdopplung des Einsatzes
Einsatz = Einsatz*2
# Begrenzt die Länge der Glücckssträhne auf 5,damit die while-Schleife nicht endlos iteriert
Laenge_Gluecksstraehne = Laenge_Gluecksstraehne-1
# Simulierung des Spiels innerhalb der Schleife
Kopf_oder_Zahl = randint(0,1)
print('Das Ergebnis der reversed-Martingale-Strategie lautet')
return 'Startkapital:',Startkapital,'Anzahl an Spielen:',Anzahl_an_Spielen,'Anzahl an gewonnenen Spielen',Anzahl_an_gewonnenen_Spielen,'Anzahl an verlorenen Spielen',Anzahl_an_verlorenen_Spielen
# Testlauf ob die Funktion richtig Funktioniert
Testlauf_b = reverse_martingale_Strategy(1,100)
print(Testlauf_b)
def Fibonacci_Folge(Eingabe):
a = 0
b = 1
while Eingabe > 0:
c = a+b
a = b
b = c
Eingabe = Eingabe-1
return c
# Funktion für die Fibonacci Strategie
def Fibonacci_Strategie(Starteinsatz,Startkapital):
# Zählt die Anzahl an gewonnenen und verlorenen Spielen für eine statistische Auswertung
Anzahl_an_gewonnenen_Spielen = 0
Anzahl_an_Spielen = 0
Anzahl_an_verlorenen_Spielen = 0
Einsatz = Starteinsatz
# Das Spiel geht solange bis man kein Startkapital mehr hat,das Startkapital verddoppelt hat oder die Anzahl an gespielten Spielen 1000 beträgt
while Startkapital > 0 and Startkapital < Startkapital * 2 and Anzahl_an_Spielen < 1000:
# Simulierung des Kopf oder Zahl Spiels
Kopf_oder_Zahl = randint(0,1)
# Aktion die Eintreten wenn man das Spiel verliert
if Kopf_oder_Zahl == 0:
# Verlust des Einsatzes
Startkapital = Startkapital-Starteinsatz
Anzahl_an_verlorenen_Spielen = Anzahl_an_verlorenen_Spielen+1
# Man geht mit dem Einsatz einen Schritt in der Fibonacci Folge vor
Einsatz = Fibonacci_Folge(0+1)
if Einsatz > Startkapital:
Einsatz = Startkapital
# Aktionen die eintreten, wenn man das Spiel gewinnt
elif Kopf_oder_Zahl == 1:
Startkapital = Startkapital+Einsatz*2
Anzahl_an_gewonnenen_Spielen = Anzahl_an_gewonnenen_Spielen+1
Einsatz = Fibonacci_Folge(0-2)
if Einsatz < Fibonacci_Folge(0):
Einsatz = Fibonacci_Folge(0)
Anzahl_an_Spielen = Anzahl_an_Spielen+1
print('Die Ergebnisse der Fibonacci Strategie lauten:')
return 'Startkapital',Startkapital,'Anzahl an Spielen',Anzahl_an_Spielen,'Anzahl an gewonnenen Spielen',Anzahl_an_gewonnenen_Spielen,'Anzahl an verlorenen Spielen',Anzahl_an_verlorenen_Spielen
# Testlauf ob die Funktion richitg funktioniert
Testlauf_c = Fibonacci_Strategie(1,100)
print(Testlauf_c)