为什么我在python中的while循环中没有收到输出?

时间:2019-02-13 15:29:24

标签: python function if-statement while-loop

我是python的新手,正在尝试通过小型项目进行学习:

我正在尝试编写一个代码,假设您与另外n个学生一起参加大班教学,请确定n必须多大才能使某人与您同生日的概率大于50%? 注意:忘记leap年 因此,假设一年中有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.")

我要去哪里了?我该如何执行if语句?我要寻找的输出是:

  

有253名学生,某人的可能性大于50%   和你生日相同。

2 个答案:

答案 0 :(得分:0)

在不完全重做的情况下,我不知道如何解决您的代码,所以我们开始:

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))

随时询问其他信息。

答案 1 :(得分:0)

这不会返回输出,因为n == 0.5 * n的条件为false,因此循环永远不会开始。