鱼C论坛

 找回密码
 立即注册
查看: 3157|回复: 4

[已解决]各位大佬帮我看看哪里出错了

[复制链接]
发表于 2023-1-12 13:15:07 | 显示全部楼层 |阅读模式
3鱼币
  1. n = int(input("请输入一个正整数:"))
  2. i = 0
  3. T = 0
  4. F = 0
  5. LT = 0
  6. LF = 0
  7. m = 0
  8. M = 0
  9. if n >= 100:
  10.     print("开始抛硬币实验...")
  11. import random
  12. while i < n:
  13.     num = int(random.randint(1,2))
  14.     if num == 1:
  15.         T += 1
  16.         qn = 1
  17.         pn = 1
  18.         if n <= 100:
  19.             print("正面")
  20.         if qn == 1:
  21.             LT += 1
  22.         M = LF
  23.         LF = 0
  24.     elif num == 2:
  25.         F += 1
  26.         qn = 2
  27.         pn = 2
  28.         if n <= 100:
  29.             print("反面")
  30.         if pn == 2:
  31.             LF += 1
  32.         m = LT
  33.         LT = 0
  34.     if m != 0:
  35.         if m > LT:
  36.             lt = m
  37.         elif m < LT:
  38.             lt = LT
  39.         elif m == LT:
  40.             lt = LT
  41.     if M != 0:
  42.         if M > LF:
  43.             lf = M
  44.         elif M < LF:
  45.             lf = LF
  46.         elif M == LF:
  47.             lf = LF
  48.     i += 1
  49. print("正面的个数:",T)
  50. print("反面的个数:",F)
  51. print("正面最多次数:",lt)
  52. print("反面最多次数:",lf)
复制代码

各位鱼C论坛的大佬们,这是小甲鱼的模拟抛硬币的课后题(了不起的分支和循环(|||)),我的做法在最后一个要求(统计正反面最多连续次数)中频频出错
能不能帮我看看是哪里的问题?
最佳答案
2023-1-12 13:15:08
本帖最后由 chinajz 于 2023-1-12 19:37 编辑

修改了一下,测试看看;为便于验证,加了连续次数打印
  1. #coding=gbk
  2. n = int(input("请输入一个正整数:"))
  3. i = 0
  4. T = 0#正面计数
  5. F = 0
  6. LT = 0
  7. lt=0
  8. LF = 0
  9. lf=0

  10. if n >= 100:
  11.     print("开始抛硬币实验...")
  12. import random
  13. while i < n:
  14.     num = int(random.randint(1,2)) #1正面,2反面
  15.     if num == 1:
  16.         T += 1#正面计数

  17.         if n <= 100:
  18.             print("正面")
  19.       
  20.         LT += 1#正面连续次数
  21.         print(LT)
  22.         LF = 0#反面连续次数清零
  23.     else:
  24.         F += 1#反面计数

  25.         if n <= 100:
  26.             print("反面")
  27.       
  28.         LF += 1#反面连续次数
  29.         print(LF)
  30.         LT=0#正面连续次数清零
  31.     if LT != 0:#连续正面取最大值
  32.         if LT >= lt:
  33.             lt = LT
  34.             
  35.         
  36.     if LF!= 0:#连续反面取最大值
  37.         if LF >= lf:
  38.            lf= LF
  39.         
  40.     i += 1
  41. print("正面的个数:",T)
  42. print("反面的个数:",F)
  43. print("正面最多次数:",lt)
  44. print("反面最多次数:",lf)
复制代码

最佳答案

查看完整内容

修改了一下,测试看看;为便于验证,加了连续次数打印
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-1-12 13:15:08 | 显示全部楼层    本楼为最佳答案   
本帖最后由 chinajz 于 2023-1-12 19:37 编辑

修改了一下,测试看看;为便于验证,加了连续次数打印
  1. #coding=gbk
  2. n = int(input("请输入一个正整数:"))
  3. i = 0
  4. T = 0#正面计数
  5. F = 0
  6. LT = 0
  7. lt=0
  8. LF = 0
  9. lf=0

  10. if n >= 100:
  11.     print("开始抛硬币实验...")
  12. import random
  13. while i < n:
  14.     num = int(random.randint(1,2)) #1正面,2反面
  15.     if num == 1:
  16.         T += 1#正面计数

  17.         if n <= 100:
  18.             print("正面")
  19.       
  20.         LT += 1#正面连续次数
  21.         print(LT)
  22.         LF = 0#反面连续次数清零
  23.     else:
  24.         F += 1#反面计数

  25.         if n <= 100:
  26.             print("反面")
  27.       
  28.         LF += 1#反面连续次数
  29.         print(LF)
  30.         LT=0#正面连续次数清零
  31.     if LT != 0:#连续正面取最大值
  32.         if LT >= lt:
  33.             lt = LT
  34.             
  35.         
  36.     if LF!= 0:#连续反面取最大值
  37.         if LF >= lf:
  38.            lf= LF
  39.         
  40.     i += 1
  41. print("正面的个数:",T)
  42. print("反面的个数:",F)
  43. print("正面最多次数:",lt)
  44. print("反面最多次数:",lf)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-1-12 17:49:04 | 显示全部楼层
  1. #coding=gbk
  2. n = int(input("请输入一个正整数:"))
  3. i = 0
  4. T = 0#正面计数
  5. F = 0
  6. LT = 0
  7. lt=0
  8. LF = 0
  9. lf=0
  10. m = 0
  11. M = 0
复制代码

lt和lf是局部变量,最后以想作全局变量用,在最前面定义试试
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-1-12 18:07:31 | 显示全部楼层
你这个代码只在最后一次循环的时候跑了一遍 ,并没有累加起来,都重新回到0了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-12 23:52:46 | 显示全部楼层
万分感谢,我发这个帖子只是抱着试一试的心态,没想到竟然有人回复!谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 04:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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