|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import random
a = input("请输次数:")
a = int(a)
b = 0
c = 0
d = "正面"
e = "反面"
f = d,e
h = a
while a != 0:
g = random.choice(f)
if h < 100:
print(g,end=" ")
a = a - 1
if g == "正面":
b = b + 1
elif g == "反面":
c = c + 1
if h >= 100:
a = a - 1
if g == "正面":
b = b + 1
elif g == "反面":
c = c + 1
print("一共进行了",h,"次实验,如果如下:")
print("正面:",b,"次")
print("反面:",c ,"次")
要计算连续出现正反面的次数,我上面这个应该用什么办法,请指教下思路,不要直接告诉我怎么写
- import random
- a = input("请输次数:")
- a = int(a)
- b = 0
- c = 0
- d = "正面"
- e = "反面"
- f = d,e
- h = a
- sum_zm=0 #连续正面计数
- sum_fm=0 #连续反面计数
- result=[['正面',0],['反面',0]] #记录正面和反面最多连续出现多少次
- record='' #初始化记录上一次抛硬币的结果
- while a != 0:
- g = random.choice(f)
- if record != g: #判断本次抛硬币结果是否和上次相同
- record = g #更新抛硬币记录
- sum_zm=sum_fm=1 #将正面和反面连续出现记录归1
- elif record == '正面': #如果和上次记录相同
- sum_zm += 1 #连续出现次数+1
- if sum_zm>result[0][1]: #如果连续出现次数>result里的记录,就把result里的记录更新为最大值
- result[0][1]=sum_zm
- else:
- sum_fm += 1 #同上,这是记录连续记录为反面的情况
- if sum_fm>result[1][1]:
- result[1][1]=sum_fm
- if h < 100:
- print(g,end=" ")
- a = a - 1
- if g == "正面":
- b = b + 1
- elif g == "反面":
- c = c + 1
- if h >= 100:
- a = a - 1
- if g == "正面":
- b = b + 1
- elif g == "反面":
- c = c + 1
- print("一共进行了",h,"次实验,如果如下:")
- print("正面:",b,"次",'连续出现最多',result[0][1],'次')
- print("反面:",c ,"次",'连续出现最多',result[1][1],'次')
复制代码
楼主可以看看这个
|
|