|

楼主 |
发表于 2021-8-27 15:50:46
|
显示全部楼层
#抛硬币测试:
import random
counts = int(input("请输入次数: "))
z = 0 #正面出现的次数
f = 0 #反面出现的次数
#根据输入次数判断是否打印结果:
if counts >= 100:
time = True
else:
time = False
#出现连续正面最大次数:
z_m = 0
#出现连续反面最大次数:
f_m = 0
#出现连续正面次数:
z_l = 0
#出现连续反面次数:
f_l = 0
#最后上一次状态,正面为1,反面为2:
last = 0
i = 0
while i < counts:
num = random.randint(1,20)
if num % 2 == 0:
#如果上次为反面,则连续正面的次数记为1:
if last == 2:
z_l = 1
#如果出现连续正面次数大于连续正面最大次数,则替换之:
if z_l > z_m:
z_m = z_l
if not time:
print("正面",end=' ')
z = z + 1
z_l = z_l + 1
#上一次状态设为正面:
last = 1
else:
#如果上次为正面,则连续反面的次数记为1:
if last == 1:
f_l = 1
#如果出现连续反面次数大于连续反面最大次数,则替换之:
if f_l > f_m:
f_m = f_l
if not time:
print("反面",end=' ')
f = f + 1
f_l = f_l + 1
#上一次状态设为反面:
last = 2
i = i + 1
print()
print("测试结果: ",sep='')
print("正面: ",z,sep='')
print("反面: ",f,sep='')
print("连续正面最多",z_m,"次",sep='')
print("连续反面最多",f_m,"次",sep='')
代码就是这个 |
|