Почему я не получаю вывод для этого цикла while в python? - PullRequest
0 голосов
/ 13 февраля 2019

Я новичок в Python и пытаюсь учиться с помощью небольших проектов:

Я пытаюсь написать код, в котором, если предположим, что вы находитесь в классе с большой лекцией вместе с n другими студентами. Определите, какой большой n долженбыть такой, что вероятность того, что у кого-то будет такой же день рождения, как у вас, превышает 50%?Примечание: забывая о високосных годах и, следовательно, предполагая 365 дней в году, вероятность того, что ни у кого нет того же дня рождения, что и у вас (364/365) ** n

Мой код для этого:

n=probability
probability = 0
while n==0.50*n:
    print("With n students, the
probability
is greater than
50% that someone has the same
birthday
as you.")

Где я ошибаюсь? Как я могу реализовать заявление? Требуемый результат:

При 253 учениках вероятность того, что у кого-то больше 50%тот же день рождения, что и у вас.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

это не возвращает вывод, потому что условие n == 0.5 * n ложно, поэтому цикл никогда не запускается с самого начала.

0 голосов
/ 13 февраля 2019

Я не знаю, как исправить ваш код, не переделав его полностью, поэтому мы идем:

p = 1/365
n = 0

# Search for the number of students that ensures p(same birthday)>50%.
while 1-(1-p)**n < 0.50 :
    n = n+1

print("With {number} students, the probability is greater than 50% that someone has the same birthday as you.".format(number=n))

Не стесняйтесь спрашивать дополнительную информацию.

...