|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
python课后题第16讲,最后一题我想看答案,但是看答案还要钱,我这点币根本不够花的,有没有大佬愿意资助我一下,顺便帮我检查一下写的怎么样
- 请输入抛硬币的次数:99
- 开始抛硬币实验:
- 反面 正面 正面 正面 正面 反面 反面 反面 正面 反面 反面 正面 正面 正面 正面 正面 正面 反面 正面 正面 正面 正面 反面 反面 反面 反面 反面 正面 正面 正面 正面 反面 反面 正面 反面 正面 正面 正面 正面 反面 反面 正面 正面 正面 反面 反面 反面 正面 反面 正面 反面 反面 反面 正面 正面 正面 正面 反面 正面 反面 正面 反面 反面 反面 反面 正面 反面 正面 正面 反面 正面 正面 反面 正面 反面 反面 反面 正面 正面 正面 反面 正面 正面 正面 正面 正面 正面 反面 反面 正面 正面 正面 正面 反面 正面 反面 正面 正面 正面 一共模拟了 99 次抛硬币,结果如下:
- 正面: 58
- 反面: 41
- 最多连续正面: 6
- 最多连续反面: 41
复制代码
有明显的bug
在else中应该赋值给fm1而非fm2
另外相同的代码写两遍很繁琐,可以合并成一个语句
修改后代码
- import random
- counts = int(input("请输入抛硬币的次数:"))
- i = 0
- z = 0
- f = 0
- fm1 = 0
- fm2 = 0
- zm1 = 0
- zm2 = 0
- print("开始抛硬币实验:")
- while i < counts:
- num = random.randint(1, 10)
-
- if num % 2:
- fm1 = 0
- zm1 += 1
- if counts < 100:
- print("正面", end=" ")
- z += 1
- else:
- zm1 = 0
- fm1 += 1
- if counts < 100:
- print("反面", end=" ")
- f += 1
- i += 1
- if zm1 > zm2:
- zm2 = zm1
- if fm1 > fm2:
- fm2 = fm1
-
- print("一共模拟了",counts,"次抛硬币,结果如下:")
- print("正面:",z)
- print("反面:",f)
- print("最多连续正面:",zm2)
- print("最多连续反面:",fm2)
复制代码
其实买个至尊vip会员支持一下小甲鱼也不错的 
|
|