|
3鱼币
- n = int(input("请输入一个正整数:"))
- i = 0
- T = 0
- F = 0
- LT = 0
- LF = 0
- m = 0
- M = 0
- if n >= 100:
- print("开始抛硬币实验...")
- import random
- while i < n:
- num = int(random.randint(1,2))
- if num == 1:
- T += 1
- qn = 1
- pn = 1
- if n <= 100:
- print("正面")
- if qn == 1:
- LT += 1
- M = LF
- LF = 0
- elif num == 2:
- F += 1
- qn = 2
- pn = 2
- if n <= 100:
- print("反面")
- if pn == 2:
- LF += 1
- m = LT
- LT = 0
- if m != 0:
- if m > LT:
- lt = m
- elif m < LT:
- lt = LT
- elif m == LT:
- lt = LT
- if M != 0:
- if M > LF:
- lf = M
- elif M < LF:
- lf = LF
- elif M == LF:
- lf = LF
- i += 1
- print("正面的个数:",T)
- print("反面的个数:",F)
- print("正面最多次数:",lt)
- print("反面最多次数:",lf)
复制代码
各位鱼C论坛的大佬们,这是小甲鱼的模拟抛硬币的课后题(了不起的分支和循环(|||)),我的做法在最后一个要求(统计正反面最多连续次数)中频频出错
能不能帮我看看是哪里的问题?
本帖最后由 chinajz 于 2023-1-12 19:37 编辑
修改了一下,测试看看;为便于验证,加了连续次数打印
- #coding=gbk
- n = int(input("请输入一个正整数:"))
- i = 0
- T = 0#正面计数
- F = 0
- LT = 0
- lt=0
- LF = 0
- lf=0
- if n >= 100:
- print("开始抛硬币实验...")
- import random
- while i < n:
- num = int(random.randint(1,2)) #1正面,2反面
- if num == 1:
- T += 1#正面计数
-
- if n <= 100:
- print("正面")
-
- LT += 1#正面连续次数
- print(LT)
- LF = 0#反面连续次数清零
- else:
- F += 1#反面计数
- if n <= 100:
- print("反面")
-
- LF += 1#反面连续次数
- print(LF)
- LT=0#正面连续次数清零
- if LT != 0:#连续正面取最大值
- if LT >= lt:
- lt = LT
-
-
- if LF!= 0:#连续反面取最大值
- if LF >= lf:
- lf= LF
-
- i += 1
- print("正面的个数:",T)
- print("反面的个数:",F)
- print("正面最多次数:",lt)
- print("反面最多次数:",lf)
复制代码
|
最佳答案
查看完整内容
修改了一下,测试看看;为便于验证,加了连续次数打印
|