【发布时间】:2019-08-23 15:44:37
【问题描述】:
我正在学习 python 和 numpy 等。我正在编写抛硬币的代码,但是我对代码有些困惑。我回顾了课程,但看不到它在哪里解释 为什么以下代码中的 total_sums 等于 2。
tests = np.random.choice([0, 1], size=(int(1e6), 3), p=[0.6, 0.4])
test_sums = tests.sum(axis=1)
(test_sums == 2).mean()
上面的代码我能够正确,除了test_sums == 2,我卡了很长时间。
代码的目的是查看当你掷硬币 3 次时,它会出现一次正面朝上的概率是多少。在这种情况下,正面为 0,反面为 1。有人能告诉我我错过了什么吗?谢谢
【问题讨论】:
-
由于正面为 0,反面为 1,因此如果它一次落在正面(和两次反面)上,则 3 次试验的总和为 2。
-
你认为应该是什么,为什么?
-
好的,这是有道理的。出于某种原因,我在想 1,因为在我的脑海里我在想两个硬币翻转而不是三个。所以因为我错了,我以为我完全误解了 == 2 指的是。谢谢你们的帮助。
标签: python numpy coin-flipping