Tischtennissimulation
Verfasst: Dienstag 8. Dezember 2020, 18:51
Hallo an Alle,
ich lerne seit kurzem Python und sollte ein einfaches Programm schreiben, welches zwei Spieler mit Unterschiedlicher Gewinnchance gegeneinander Tischtennis spielen lässt.
Ein Satz ist gewonnen, wenn ein Spieler mindestens 11 Punkte und 2 Punkte mehr als der Gegner erzielt hat. Ich habe einen Satzsieg nun mit einer 'unendlichen' Schleife gelöst, welche vorzeitig beendet wird, sollten die genannten Bedingungen eintreten. Allerdings finde ich diese Lösung alles andere als elegant. Gibt es eine einfache Möglichkeit die Schleife eleganter zu gestalten? Hier ist mein bisheriger Code:
# Tischtennisspiel 60:40
from random import randint
Spielstand_Spieler_1 = 0
Spielstand_Spieler_1 = int(Spielstand_Spieler_1)
Spielstand_Spieler_2 = 0
Spielstand_Spieler_2 = int(Spielstand_Spieler_2)
unendlich=1
while unendlich > 0:
punkt_sieg = randint(1,100)
if punkt_sieg < 61:
Spielstand_Spieler_1 = Spielstand_Spieler_1 + 1
if punkt_sieg > 60:
Spielstand_Spieler_2 = Spielstand_Spieler_2 + 1
if (Spielstand_Spieler_1 >= 11) and ((Spielstand_Spieler_2 + 2) <= Spielstand_Spieler_1):
break
if (Spielstand_Spieler_2 >= 11) and ((Spielstand_Spieler_1 + 2) <= Spielstand_Spieler_2):
break
Satz = [
[['Spieler_1'], Spielstand_Spieler_1],
[['Spieler_2'], Spielstand_Spieler_2],
[['Ergebnis'], Spielstand_Spieler_1, ':', Spielstand_Spieler_2]
]
print('Das Ergebnis des Satzes lautet:', Satz[2])
Viele Grüße
insi
ich lerne seit kurzem Python und sollte ein einfaches Programm schreiben, welches zwei Spieler mit Unterschiedlicher Gewinnchance gegeneinander Tischtennis spielen lässt.
Ein Satz ist gewonnen, wenn ein Spieler mindestens 11 Punkte und 2 Punkte mehr als der Gegner erzielt hat. Ich habe einen Satzsieg nun mit einer 'unendlichen' Schleife gelöst, welche vorzeitig beendet wird, sollten die genannten Bedingungen eintreten. Allerdings finde ich diese Lösung alles andere als elegant. Gibt es eine einfache Möglichkeit die Schleife eleganter zu gestalten? Hier ist mein bisheriger Code:
# Tischtennisspiel 60:40
from random import randint
Spielstand_Spieler_1 = 0
Spielstand_Spieler_1 = int(Spielstand_Spieler_1)
Spielstand_Spieler_2 = 0
Spielstand_Spieler_2 = int(Spielstand_Spieler_2)
unendlich=1
while unendlich > 0:
punkt_sieg = randint(1,100)
if punkt_sieg < 61:
Spielstand_Spieler_1 = Spielstand_Spieler_1 + 1
if punkt_sieg > 60:
Spielstand_Spieler_2 = Spielstand_Spieler_2 + 1
if (Spielstand_Spieler_1 >= 11) and ((Spielstand_Spieler_2 + 2) <= Spielstand_Spieler_1):
break
if (Spielstand_Spieler_2 >= 11) and ((Spielstand_Spieler_1 + 2) <= Spielstand_Spieler_2):
break
Satz = [
[['Spieler_1'], Spielstand_Spieler_1],
[['Spieler_2'], Spielstand_Spieler_2],
[['Ergebnis'], Spielstand_Spieler_1, ':', Spielstand_Spieler_2]
]
print('Das Ergebnis des Satzes lautet:', Satz[2])
Viele Grüße
insi