zed小时钟 发表于 2020-11-4 20:56:02

零基础学python的16讲分支循环三的动手题怎么理解呀

动手题的1,2问硬币题真的疯了,有大佬可以帮忙理解不{:10_266:}
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="")

昨非 发表于 2020-11-4 21:13:56

哪部分不理解?

zed小时钟 发表于 2020-11-4 21:16:58

昨非 发表于 2020-11-4 21:13
哪部分不理解?

就是统计正面和反面那部分,脑子都想痛{:10_266:}

昨非 发表于 2020-11-4 21:19:35

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

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

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

i = 0
print("开始抛硬币实验……")
while i < counts:         #i作为循环变量,遍历0到counts
    num = random.randint(1, 10) #生成1到10随机数num

    if num % 2:       #num为偶数
      heads += 1    #正面次数加一
      #根据ignore判断是否打印
      if not ignore:      
            print("正面", end=" ")
    else:         #num为奇数
      tails += 1   #反面次数加一
      #根据ignore判断是否打印
      if not ignore:
            print("反面", end=" ")

    i += 1 #循环变量加一,进入下次循环

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

笨鸟学飞 发表于 2020-11-4 21:20:04

import random#1、导入模块

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

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

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

i = 0
print("开始抛硬币实验……")
while i < counts:   #2、还有次数则继续丢
    num = random.randint(1, 10)#取1-10的随机数

    if num % 2:   #3、随机数是偶数
      heads += 1#4、正面次数加1
      if not ignore:       #5、如果变量ignore为False
            print("正面", end=" ")
    else:             #6、随机数是奇数
      tails += 1   
      if not ignore:
            print("反面", end=" ")

    i += 1#丢完了1次,计次数加1

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

昨非 发表于 2020-11-4 21:20:33

zed小时钟 发表于 2020-11-4 21:16
就是统计正面和反面那部分,脑子都想痛

就是生成几个随机数,奇数和偶数的概率一样,分别代表正反面,保证各占50%

zed小时钟 发表于 2020-11-4 21:22:47

笨鸟学飞 发表于 2020-11-4 21:20
import random#1、导入模块

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


可以

zed小时钟 发表于 2020-11-4 21:24:17

昨非 发表于 2020-11-4 21:19


哦哦,谢谢老哥,我去理解下

昨非 发表于 2020-11-4 21:26:24

zed小时钟 发表于 2020-11-4 21:24
哦哦,谢谢老哥,我去理解下

这,我先回复的啊,,,,/心碎

zed小时钟 发表于 2020-11-5 07:58:18

昨非 发表于 2020-11-4 21:26
这,我先回复的啊,,,,/心碎

没看到{:10_245:}
页: [1]
查看完整版本: 零基础学python的16讲分支循环三的动手题怎么理解呀