zjmm19 发表于 2020-9-22 20:46:41

关于课后作业抛硬币

import random

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

# 利用 ignore 变量来判断是否打印每次的结果
if counts > 100:
    ignore = True
else:
    ignore = False

heads = 0 # 统计正面的次数
tails = 0 # 统计反面的次数

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

    if num % 2:
      heads += 1
      if not ignore:      
            print("正面", end=" ")
    else:
      tails += 1
      if not ignore:
            print("反面", end=" ")

    i += 1

print("")
print("一共模拟了", counts, "次抛硬币,结果如下:")
print("正面:", heads, "次", sep="")
print("反面:", tails, "次", sep="")



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

    if num % 2:
      heads += 1
      if not ignore:      
            print("正面", end=" ")
    else:
      tails += 1
      if not ignore:
            print("反面", end=" ")

    i += 1
这段代码是什么意思
i

zer0leng 发表于 2020-9-22 21:18:18

萌新见解:
i = 0#计数,循环的次数,循环至counts次后结束
print("开始抛硬币实验……")
while i < counts:
    num = random.randint(1, 10)#随机产生0-10之间的整数,不包括10

    if num % 2:#假设随机产生奇数时为正面
      heads += 1#正面次数+1
      if not ignore:#ignore之前有介绍判断是否需要打印,当counts大于100时, ignore = True,not取反,条件不成立,不执行if语句,不打印;小于等于100时打印相反,打印
            print("正面", end=" ")
    else:
      tails += 1
      if not ignore:
            print("反面", end=" ")

    i += 1

昨非 发表于 2020-9-22 21:19:33

i = 0 #循环变量
print("开始抛硬币实验……")
while i < counts: #当i小于counts时执行循环
    num = random.randint(1, 10) #1到10随机抽取整数

    if num % 2:#是偶数则正面加一
      heads += 1
      if not ignore:      
            print("正面", end=" ")
    else: #奇数则反面加一
      tails += 1
      if not ignore:
            print("反面", end=" ")

    i += 1 #进入下次循环判断

昨非 发表于 2020-9-22 21:20:44

使用随机数的目的是要保证正面和反面的概率相等,各取50%

昨非 发表于 2020-10-13 23:14:19

楼主及时结帖啊
页: [1]
查看完整版本: 关于课后作业抛硬币