正の整数 n を入力として取り、n 回のクラップス ゲームをシミュレートし、プレイヤーが勝ったゲームの割合を返す関数を書きたいと思います。
私が書いたコードをシミュレートする基礎となるクラップスは次のとおりです。
import random
def craps():
dice = random.randrange(1,7) + random.randrange(1,7)
if dice in (7,11):
return 1
if dice in (2,3,12):
return 0
newRoll = random.randrange(1,7) + random.randrange(1,7)
while newRoll not in (7,dice):
newRoll = random.randrange(1,7) + random.randrange(1,7)
if newRoll == dice:
return 1
else:
return 0
import random
def testCraps(n):
count = 0
fract = count/n
games = n*craps()
for i in range(games):
if i == 1:
count +=1
else:
pass
return fract
usage:
>>> fracCraps(10000)
0.4844
>>> fracCraps(10000)
0.492
実行時に得られるものは次のとおりです。
>>> testCraps(10000)
0.0
カウンターを機能させることができません。