Pythonのカウンター設定の方法がよくわかりません。
コイントスをしてどちらが勝つかというゲームを繰り返し、勝率を出すためにカウンターで勝った回数を数えなくてはなりません。
どっちが勝つというところまではできたのですが、最後のゲームを繰り返して勝率をだすというところでうまくいきません。
10回やってHが数回勝っているのに、0になり、カウンターが更新されません。
お分かりになるかた、確認と修正よろしくお願いします。
いろいろ余計なものもがはいっていたり、確認のためプリントしたりしているのでわかりにくいかもしれません。
伺いたいのは最後のCountの部分となります。
よろしくお願いします。
from random import randrange def toss(): if randrange(2) == 0: return "head" else: return "tail" #simulate tossing a coin n times, and report the results def tossGame(Hmoney,Tmoney): tailCount = 0 headCount = 0 HwinCount = 0 TwinCount = 0 i=1 while i > 0: coin = toss() ## toss the coin here if coin == "head": # use the result once here headCount = headCount + 1 Hmoney = Hmoney +1 Tmoney = Tmoney -1 # print("head :", "H has $",Hmoney, "T has $",Tmoney) if Tmoney == 0: break # return HwinCount if coin == 'tail': # use the same result again here tailCount = tailCount + 1 Hmoney = Hmoney -1 Tmoney = Tmoney +1 # print("tail :", "H has $",Hmoney, "T has $",Tmoney) if Hmoney == 0: break # return TwinCount i = i + 1 if Tmoney == 0: HwinCount += 1 print ("H won!", HwinCount) else: TwinCount +=1 print ("T won!", TwinCount) print ("In", i,"tosses of a coin, there were",headCount, \ "heads and",tailCount,"tails.") #### repeat trial and report the probability def ProbHwin(Hmoney,Tmoney,nGames): Count = 0 for index in range(nGames): tossGame(Hmoney,Tmoney) if Tmoney == 0: Count += 1 average = Count/ nGames print (Count, avetage, nGames) ProbHwin(11,9,10)
`
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/06/19 23:36
2020/06/20 00:08 編集
退会済みユーザー
2020/06/20 00:17
退会済みユーザー
2020/06/20 00:19
退会済みユーザー
2020/06/20 00:27
2020/06/20 00:48
退会済みユーザー
2020/06/20 01:07
退会済みユーザー
2020/06/20 02:04
2020/06/20 02:16
退会済みユーザー
2020/06/20 02:25
2020/06/20 02:50 編集
2020/06/20 02:53
2020/06/20 03:05 編集
2020/06/20 03:00 編集
2020/06/20 03:04
退会済みユーザー
2020/06/20 05:22