私はプログラミング、特にPythonに不慣れで、宿題の問題で問題を抱えています。
ここに問題があります:
クラップスは、5月のカジノでプレイされるサイコロベースのゲームです。ブラックジャックのように、プレイヤーは家と対戦します。ゲームは、プレーヤーが標準の6面サイコロを投げることから始まります。プレイヤーが合計7または11をロールした場合、プレイヤーが勝ちます。プレイヤーが合計2、3、または12をロールした場合、プレイヤーは負けます。他のすべてのロール値については、プレーヤーは、初期値を再度ロールする(この場合は勝つ)か7(この場合は負ける)まで、サイコロのペアを繰り返しロールします。
正の整数nを入力として受け取り、クラップスのnゲームをシミュレートし、プレーヤーが勝ったゲームの割合を返す関数testCraps()を実装します。
>>> testCraps(1000)
0.4844
>>> testCraps(1000)
0.492
これが私がこれまでに持っているものです:
import random
def roll():
dice = (random.randrange(1,7) + random.randrange (1,7))
return dice
def testCraps(n):
dice = roll()
total = 0
count = 0
for i in range (n):
total = total + 1
if dice == 2 or dice == 3 or dice == 12:
count = count + 0
elif dice == 7 or dice == 11:
count += 1
else:
dice1 = roll()
while dice1 != 7 or dice1 != dice:
if dice1 == 7:
count = count + 0
elif dice1 == dice:
count += 1
else:
dice1 = roll()
return(float(count/total))
私は何かが足りないのですか?ヒントをいただければ幸いです。