爱你的小优 发表于 2021-9-3 10:17:34

关于抛硬币的疑问

我的代码
import random

frequency = int(input("请输入抛硬币的次数:"))

content = ['正面','反面']

reject = random.choices(content, k = frequency)

print("开始抛硬币实验:")

print(*reject)小甲鱼老师代码
import random

counts = int(input("请输入抛硬币的次数:"))
i = 0

print("开始抛硬币实验:")
while i < counts:
    num = random.randint(1, 10)

    if num % 2:
      print("正面", end=" ")
    else:
      print("反面", end=" ")

    i += 1
问题一:我的代码逻辑没问题吧
问题二:小甲鱼代码中,为什么num取的是1~10的随机数,而不是1~counts的随机数
问题三:if num % 2这句话是true还是false

逃兵 发表于 2021-9-3 10:34:55

问题一:我的代码逻辑没问题吧
没问题
问题二:小甲鱼代码中,为什么num取的是1~10的随机数,而不是1~counts的随机数
每一次都是独立模型,从10个数字中随机取值
问题三:if num % 2这句话是true还是false
num为奇数为True num为偶数则为False

爱你的小优 发表于 2021-9-3 10:55:21

逃兵 发表于 2021-9-3 10:34
没问题

每一次都是独立模型,从10个数字中随机取值


啥是独立模型啊{:10_266:}

灰晨 发表于 2021-9-3 13:29:46

num取 1-10 的随机数不是重点,重点是下面判断 num % 2,判断num是奇数还是偶数来决定硬币是正面还是反面,你取 1 - 100的随机数都没问题,主要是1-10中奇数偶数的个数一样,保证硬币正反面的概率都为1/2,你取1-counts可能导致奇数的概率比偶数大

爱你的小优 发表于 2021-9-3 13:47:21

灰晨 发表于 2021-9-3 13:29
num取 1-10 的随机数不是重点,重点是下面判断 num % 2,判断num是奇数还是偶数来决定硬币是正面还是反面, ...

谢谢,受益匪浅
页: [1]
查看完整版本: 关于抛硬币的疑问