私は自分自身で解決できないテキストブックの質問について助けを探しています。私の確率誕生日
これはwhileループの章のものです。だから私は答えを得るためにループを使用しなければならない
答えは のようなものです "253人の学生で、probは50%以上の誰かがあなたと同じ誕生日を持っている。ループ は、私はしかし、それがどんな結果を表示しません
classmate = 1
prob = 0
while prob <= 50:
classmate = classmate + 1
prob = (364/365) ** classmate
print('With {} student, the probability is greater than {} that someone '
'has the same birthday as you.'.format(classmate, prob))
を作成しながら
我々は使用して「253」と「50%」を取得する必要があります。私はどうしたらいいですか?
P.S.これは「中」の章なので、答えを得るために使っている間だけ使用できます.....
これの目的は何ですか?それは無限ループに入ります。 – ifconfig
このアプローチにはいくつか問題があります。まず、50ではなく0.50の確率しきい値をテストする必要があります。すべての確率は0.0〜1.0です。第2に、現在のprobの式は、誕生日が一致しない誕生日に一致する確率です。これを現在の式から1を引いた値に変更します。最後に、これがPython 2の場合、 '364/365'は0(整数演算)になります。代わりに' 364.0/365.0'を試してください。 –
あなたの推理に欠陥があります - http://math.stackexchange.comにアクセスして説明を要求してください。また、そこに見ることもできます:mathforum.org/dr.math/faq/faq.birthdayprob.html –