【发布时间】:2016-03-28 01:28:10
【问题描述】:
我需要编写代码来模拟 100 次抛硬币,然后再向我们展示我们丢了多少正面和正面。我做错了什么?
import random
orzel = 0
reszka = 0
suma = orzel + reszka
while suma != 100:
rzut = random.randint(1,6)
if rzut == 1:
orzel +=1
if rzut == 2:
reszka +=1
print(orzel, "i", reszka)
input("koniec")
【问题讨论】:
-
如果你要模拟抛硬币,你为什么要掷骰子?
-
rand(1,6) 是错误的,因为硬币只有 2 个站点。此外,您不会在循环中更改
suma。所以你得到一个无限循环。 -
在 while 循环中更新
suma。或者更好,根本不使用它,只在while条件下测试orzel + reszka != 100。 -
@user2357112 如果骰子落在
1和2上的可能性相同,而您忽略所有其他结果并重新掷骰,真的有什么不同吗? -
更简单:
count_heads = numpy.random.binomial(100, 0.5)
标签: python