鱼C论坛

 找回密码
 立即注册
查看: 2400|回复: 0

[技术交流] 第十六讲的投硬币,我想到了比答案更简洁的代码,哈哈

[复制链接]
发表于 2020-6-24 15:38:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import random

  2. i,back,front,combo_front,combo_back,=0,0,0,0,0
  3. combo_front_history = 0
  4. combo_back_history = 0
  5. while input('请按任意键开始游戏') != '':   # 按回车结束游戏
  6.     s=int(input('请输入投掷次数'))
  7.     while i<s:
  8.         toss=random.randint(1,3)     # 得出投硬币的结果,奇数为正,偶数为负
  9.         if toss%2==1:
  10.             print('正面') if s<100 else None   #小于100次会输入结果,大于则不会
  11.             front+=1    #记录正面的次数
  12.             combo_back = 0   # 如果上一次是反面这次重复计数从0开始,而出现的最多的次数存在历史记录中
  13.             combo_front += 1   # 出现了正面则开始连续记录
  14.             if combo_front_history < combo_front:   #初始时,会记录已经出现的最高纪录的连续正面;而当出现了反面在出现正面后,则
  15.                 combo_front_history = combo_front   #由于连续计数器归1了,所以比较一下有没有突破历史记录。
  16.                                        #  下面的代码同理
  17.         else:
  18.             print('反面') if s<100 else None
  19.             back+=1
  20.             combo_front = 0
  21.             combo_back += 1
  22.             if combo_back_history < combo_back:
  23.                 combo_back_history = combo_back
  24.         i+=1
  25.     print('正面次数共为:', front, '连续出现次数为:', combo_front_history)
  26.     print('反面次数为:', back, '连续出现次数为:', combo_back_history)

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-22 13:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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