鱼C论坛

 找回密码
 立即注册
查看: 3208|回复: 5

[已解决]为什么“最多连续次数”和正面总次数一样,而反面是正确的?

[复制链接]
发表于 2023-2-12 00:39:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 星何旅人_C 于 2023-2-12 01:05 编辑

求助!!谢谢!!
最佳答案
2023-2-12 07:45:11
星何旅人_C 发表于 2023-2-12 01:12
大佬能看看我错哪里了吗?谢谢!

你提问的时候最好把你的代码贴上来,不然别人回答你的问题还要手敲就很烦

这个我照着你的截图手敲一遍没有问题,如果你的代码执行结果还是不对的话就把代码贴上来
截图20230212074212.png

截图20230212074343.png
提问图1.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-12 01:05:31 | 显示全部楼层

回帖奖励 +2 鱼币

  1. import random
  2. heads , tails , theads , ttails , continues_z , continues_f , last = 0 , 0 , 0 , 0 , 0 , 0 , 0
  3. k = int(input('请输入抛币的次数:'))
  4. print('开始抛币实验......')
  5. for _ in range(k):
  6.     x = random . randint(1 , 2)
  7.     if x == 1:
  8.         if x != last:
  9.             if tails > continues_f : continues_f = tails
  10.             tails = 0
  11.         theads , heads = theads + 1 , heads + 1
  12.         if k <= 100 : print('正面' , end = ' ')
  13.     else:
  14.         if x != last:
  15.             if heads > continues_z : continues_z = heads
  16.             heads = 0
  17.         ttails , tails = ttails + 1 , tails + 1
  18.         if k <= 100 : print('反面' , end = ' ')
  19.     last = x
  20. print()
  21. print('一共模拟了%d次抛币,结果如下:' % k)
  22. print('正面:%d次' % theads)
  23. print('反面:%d次' % ttails)
  24. print('最多连续正面:%d次' % continues_z)
  25. print('最多连续反面:%d次' % continues_f)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-12 01:12:02 | 显示全部楼层

大佬能看看我错哪里了吗?谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-12 07:45:11 | 显示全部楼层    本楼为最佳答案   
星何旅人_C 发表于 2023-2-12 01:12
大佬能看看我错哪里了吗?谢谢!

你提问的时候最好把你的代码贴上来,不然别人回答你的问题还要手敲就很烦

这个我照着你的截图手敲一遍没有问题,如果你的代码执行结果还是不对的话就把代码贴上来
截图20230212074212.png

截图20230212074343.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-12 08:43:16 | 显示全部楼层
  1. #coding=gbk
  2. import random
  3. counts = int(input("请输入一个正整数:"))
  4. #利用ignore判断是否打印
  5. if counts > 100:
  6.     ignore = True
  7. else:
  8.     ignore = False
  9. heads = 0#正面计数
  10. tails = 0#反面计数
  11. #last = 0#记录上次状态,硬币换面时可以用清0方法更简洁
  12. c_heads = 0#连续正面次数
  13. max_heads  = 0#正面最大值
  14. c_tails = 0#连续反面次数
  15. max_tails = 0#反面最大值
  16. i = 0#用于while函数计数器
  17. print("开始抛硬币实验...")
  18. while i < counts:
  19.     num = int(random.randint(1,2)) #1正面,2反面
  20.     if num == 1:#等价于num % 2
  21.         heads += 1#正面计数
  22.         c_heads += 1#正面连续次数
  23.         if not ignore:
  24.             print("正面",end = "-")
  25.             print(c_heads,end = " | ")#连续计数值,省得去数了  
  26.         c_tails = 0#反面连续次数清零
  27.     else:
  28.         tails += 1#反面计数
  29.         c_tails += 1#反面连续次数
  30.         if not ignore:
  31.             print("反面",end = "-")
  32.             print(c_tails,end = " | ")#连续计数值,省得去数了
  33.         
  34.       
  35.         c_heads =0 #正面连续次数清零
  36.     if c_heads != 0:#连续正面取最大值
  37.         if c_heads >= max_heads :
  38.             max_heads = c_heads
  39.             
  40.         
  41.     if c_tails != 0:#连续反面取最大值
  42.         if c_tails >= max_tails:
  43.            max_tails = c_tails
  44.         
  45.     i += 1#用于while函数计数器
  46. print()#增加一个换行
  47. print("正面的个数:",heads)
  48. print("反面的个数:",tails)
  49. print("正面最多次数:",max_heads )
  50. print("反面最多次数:",max_tails)
复制代码

运行结果:
  1. 请输入一个正整数:30
  2. 开始抛硬币实验...
  3. 正面-1 | 反面-1 | 正面-1 | 正面-2 | 正面-3 | 正面-4 | 正面-5 | 反面-1 | 反面-2 | 反面-3 | 反面-4 | 反面-5 | 反面-6 | 反面-7 | 正面-1 | 正面-2 | 正面-3 | 正面-4 | 反面-1 | 正面-1 | 正面-2 | 正面-3 | 正面-4 |
  4. 反面-1 | 正面-1 | 反面-1 | 反面-2 | 反面-3 | 正面-1 | 反面-1 |
  5. 正面的个数: 16
  6. 反面的个数: 14
  7. 正面最多次数: 5
  8. 反面最多次数: 7
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-12 16:14:02 | 显示全部楼层
isdkz 发表于 2023-2-12 07:45
你提问的时候最好把你的代码贴上来,不然别人回答你的问题还要手敲就很烦

这个我照着你的截图手敲一遍 ...

好的,记住了下次问问题贴代码,我已经知道我哪里出错了,是我有一个单词漏字母了。谢谢你!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 23:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表