while
本帖最后由 a13766971255 于 2020-12-10 21:33 编辑c什么的是什么意思 注释里不是有吗?
麻烦说清楚点 昨非 发表于 2020-12-10 21:23
注释里不是有吗?
麻烦说清楚点
为什么c head是统计正面的次数? a13766971255 发表于 2020-12-10 21:29
为什么c head是统计正面的次数?
你上面写的是“连续正面的次数”{:10_277:} 昨非 发表于 2020-12-10 21:30
你上面写的是“连续正面的次数”
为什么是连续正面次数? a13766971255 发表于 2020-12-10 21:31
为什么是连续正面次数?
你就给半截代码谁会知道为什么? 昨非 发表于 2020-12-10 21:31
你就给半截代码谁会知道为什么?
我发到标题那里了 a13766971255 发表于 2020-12-10 21:33
我发到标题那里了
发代码,别光发截图啊
难道让我们比着截图一行行敲出来
(还是不全)
建议直接ctrl+a全选,CTRL+c复制,CTRL+v粘贴过来{:10_277:} 昨非 发表于 2020-12-10 21:35
发代码,别光发截图啊
难道让我们比着截图一行行敲出来
import random
counts = int(input("请输入抛硬币的次数:"))
# 利用 ignore 变量来判断是否打印每次的结果
if counts > 100:
ignore = True
else:
ignore = False
heads = 0 # 统计正面的次数
tails = 0 # 统计反面的次数
last = 0 # 记录上一次的状态,如果是正面设置为1, 反面则设置为2
c_heads = 0 # 统计连续正面的次数
c_tails = 0 # 统计连续反面的次数
max_heads = 0 # 统计连续正面的最多次数
max_tails = 0 # 统计连续反面的最多次数
i = 0
print("开始抛硬币实验……")
while i < counts:
num = random.randint(1, 10)
if num % 2:
heads += 1
c_heads += 1
if not ignore:
print("正面", end=" ")
# 如果上一次是反面:将连续正面的次数设置为1
if last == 2:
c_heads = 1
# 判断连续正面的次数是否比max_heads大,如果是,取而代之
if c_heads > max_heads:
max_heads = c_heads
# 将上一次的状态设置为正面
last = 1
else:
tails += 1
c_tails += 1
if not ignore:
print("反面", end=" ")
# 如果上一次是正面:连续反面的次数设置为1
if last == 1:
c_tails = 1
# 判断连续反面的次数是否比max_tails大,如果是,取而代之
if c_tails > max_tails:
max_tails = c_tails
# 将上一次的状态设置为反面
last = 2
i += 1
print("")
print("一共模拟了", counts, "次抛硬币,结果如下:")
print("正面:", heads, "次", sep="")
print("反面:", tails, "次", sep="")
print("最多连续正面:", max_heads, "次", sep="")
print("最多连续反面:", max_tails, "次", sep="")
还有,你写代码好歹用个idle啥的
记事本像话吗。。。。 这个你自己定义的啊,c是cion硬币,head是头的意思也就是人像的一面,tails指背面,这个定义看你自己你也可以定义成别的 不是赋值吗 昨非 发表于 2020-12-10 21:36
还有,你写代码好歹用个idle啥的
记事本像话吗。。。。
不是,
我是用的idle,但是我找的答案是记事本打开的 a13766971255 发表于 2020-12-10 21:39
不是,
我是用的idle,但是我找的答案是记事本打开的
emmm,我刚刚看了一下,你这个注释已经很详细了
你是哪里不理解 昨非 发表于 2020-12-10 21:41
emmm,我刚刚看了一下,你这个注释已经很详细了
你是哪里不理解
if not ignore: 是什么意思? 大概意思就是:
10以内随机数,
奇数对应正面,偶数对应反面
1、抽到奇数,正面加一,连续正面(c_heads)也+1
①下一次如果不是正面了,连续正面c_heads就要归零重新计数,但再此之前
需要把计数的最大值保存起来,也就是(max_heads)的作用
②下一次还是正面,正面加一,连续正面(c_heads)也+1
2、偶数对应反面,同上,一个道理 本帖最后由 昨非 于 2020-12-10 21:53 编辑
a13766971255 发表于 2020-12-10 21:48
if not ignore: 是什么意思?
# 利用 ignore 变量来判断是否打印每次的结果
if counts > 100:
ignore = True
else:
ignore = False
设置了个标实符ignore,当输入大于100时,ignore为true,not ignore 就是false,
if not ignore:
print("正面", end=" ")
if not ignore:
print("反面", end=" ")
也就是说,输入的抛硬币次数大于100的时候,就不打印出每次的结果(正面还是反面)了 这些在你的注释里写得清清楚楚啊 还没理解吗{:10_245:} 昨非 发表于 2020-12-10 22:06
还没理解吗
last是上一次的数值吗? 为什么可以等于2呢?
页:
[1]
2