基础Python16讲-抛硬币统计最多连续正面和反面问题
抛开代码不够简介的问题想问我的有啥逻辑错误么?
为什么执行统计有错误呢
(尝试运行了几个,统计数据有错误)
import random
counts = int(input("请输入抛硬币次数:"))
print("开始抛硬币实验......")
heads = 0
tails = 0
c_heads = 0
c_tails = 0
max_heads = 0
max_tails = 0
last = 0
if counts < 100:
i = 0
while i < counts:
num = random.randint(1,10)
if num % 2 == 0:
print("正面",end=" ")
heads += 1
c_heads += 1
if last == 2:
c_heads = 1
if c_heads > max_heads:
max_heads = c_heads
last = 1
else:
print("反面",end=" ")
tails += 1
c_tails += 1
if last == 1:
c_tails = 1
if c_tails > max_tails:
max_tails = c_tails
last = 2
i += 1
else:
i = 0
while i < counts:
num = random.randint(1,10)
if num % 2 == 0:
heads += 1
c_heads += 1
if last == 2:
c_heads = 1
if c_heads > max_heads:
max_heads = c_heads
last = 1
else:
tails += 1
c_tails += 1
if last == 1:
c_tails = 1
if c_tails > max_tails:
max_tails = c_tails
last = 2
print("\n一共模拟了 ",counts,"次抛硬币,结果如下:")
print("正面",heads)
print("反面",tails)
print("最大连续正面:",c_heads)
print("最大连续反面:",c_tails)
最后两行
print("最大连续正面:",c_heads)
print("最大连续反面:",c_tails)
改为
print("最大连续正面:",max_heads)
print("最大连续反面:",max_tails) 冬雪雪冬 发表于 2021-12-14 10:09
最后两行
print("最大连续正面:",c_heads)
print("最大连续反面:",c_tails)
哈哈哈哈哈哈哈哈
谢谢
我是白痴吗
页:
[1]