|  | 
 
| 
import random
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  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="")
 ##########################
 这个代码可以正常运行   计算连续正反次数 这段代码是如何实现的呢   last = 1 如何判断的呢   怎么做到 last 加 1的
 有没有判断连续正反次数 简单的代码
 
 last = 1 如何判断的呢   怎么做到 last 加 1的
 last 就是用于判断上一次抛的硬币是正还是反,没有进行 +1 是直接赋值 1 或 2
 
 若是正面,那么 last 就一直保持着 1,如果是反面 last 就为 2
 
 
 | 
 |