叶子嘤嘤嘤 发表于 2021-2-22 11:37:53

08讲课后作业最后一题求讲解

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

首先 一直对counts的用法啊不太清楚,求解
%是什么含义呢?
为什么要设置i呢?
求讲解整个过程,谢谢

猪猪虾 发表于 2021-2-22 11:50:03

1,counts没有什么用法,只是定义的一个变量,用来接收你输入的参数,这里是抛硬币次数,counts值就是输入的抛硬币次数
2.%就是取余数的意思
3.i是用来累加程序运行的次数,就是模拟你当前已经抛了几次硬币


如果解决了你的问题,麻烦给个最佳,蟹蟹

昨非 发表于 2021-2-22 11:50:46

本帖最后由 昨非 于 2021-2-22 12:04 编辑

import random#导入生成随机数的库

counts = int(input("请输入抛硬币的次数:")) #输入次数,转化为int型后赋值给counts
i = 0#定义循环变量,初值为0

print("开始抛硬币实验:")
while i < counts: #假设counts=5,每次循环i+=1(也就是i=i+1),五次以后,i<counts不再成立,循环结束
                  #到这时,循环次数就是你输入的counts
    num = random.randint(1, 10) #生成10以内的随机数(这个调用方法是固定的),赋值给num

    if num % 2:   #if num%2!=0:也就是奇数
      print("正面", end=" ")
    else:          #对应偶数的情况
      print("反面", end=" ")

    i += 1   #这是i=i+1的缩写,i自加1

counts就是你所输入的要抛硬币的次数
i是循环变量,当i<counts时,while循环就会一直执行
它的初值为0,抛一次(i += 1)i就加一,
直到i<counts不成立了,说明已经抛够了counts次,循环结束

至于%,是取余数的意思,num%2,也就是对二取余数,求其除以二的余数
num%2==0,就是除以二余数为0,也就是偶数
num%2==1,就是除以二余数为1,也就是奇数
这里用奇偶各占一半的可能性来模拟硬币的正反面,一个道理

叶子嘤嘤嘤 发表于 2021-2-22 15:50:12

昨非 发表于 2021-2-22 11:50
counts就是你所输入的要抛硬币的次数
i是循环变量,当i

很清晰,感谢
页: [1]
查看完整版本: 08讲课后作业最后一题求讲解