ich kann nicht herausfinden, wo ich Fehler gemacht habe, aber Druck ist immer wahrscheinlich Siege 100%Python Logik Black Jack sim
import random
Deck einrichten und überprüft Noten von einzelnem Spiel
def singleGame():
cardsVal = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10] # deck of cards
onhandScore = 17 # score on hand
cardNumber = pickOneCard()
newCardValue = cardsVal[cardNumber - 1]
onhandScore = onhandScore + newCardValue
prüfen wenn gewinnen, verlieren oder
if onhandScore > 21:
result = 1
elif onhandScore == 21:
result = 0
else:
result = -1
return result
Wählen Sie eine Karte von 13 binden und das Rück seine Kartennummer
def pickOneCard():
return random.randint(1, 13)
prüfen n Simulationen und drucken die Ergebnisse
def multipleGames(n):
Zur Aufzeichnung
defeat = 0;
certainVictory = 0;
likelyVictory = 0;
Simulieren n Spiele eins nach dem anderen
for i in range(n):
result = singleGame()
prüfen Noten Partitur und Werte speichern
if result == 1:
defeat += 1
elif result == 0:
certainVictory += 1
else:
likelyVictory += 1
Berechnung Gesamtanteil
totalPer = (defeat + certainVictory + likelyVictory)
defeatPer = float("{0:.2f}".format(defeat * 100/ totalPer))
certainVictoryPer = float("{0:.2f}".format(certainVictory * 100/ totalPer))
likelyVictoryPer = 100 - defeatPer - certainVictoryPer
Druckergebnisse
print 'Defeats: ',defeatPer,'%'
print 'Certain victories: ',certainVictoryPer,'%'
print 'Likely victories: ',likelyVictoryPer,'%'
für 100.000 Spiele Simulieren Code
multipleGames(100000)