鱼C论坛

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

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

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

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

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

x
import random

i,back,front,combo_front,combo_back,=0,0,0,0,0
combo_front_history = 0
combo_back_history = 0
while input('请按任意键开始游戏') != '':   # 按回车结束游戏
    s=int(input('请输入投掷次数'))
    while i<s:
        toss=random.randint(1,3)     # 得出投硬币的结果,奇数为正,偶数为负
        if toss%2==1:
            print('正面') if s<100 else None   #小于100次会输入结果,大于则不会
            front+=1    #记录正面的次数
            combo_back = 0   # 如果上一次是反面这次重复计数从0开始,而出现的最多的次数存在历史记录中
            combo_front += 1   # 出现了正面则开始连续记录
            if combo_front_history < combo_front:   #初始时,会记录已经出现的最高纪录的连续正面;而当出现了反面在出现正面后,则
                combo_front_history = combo_front   #由于连续计数器归1了,所以比较一下有没有突破历史记录。
                                       #  下面的代码同理
        else:
            print('反面') if s<100 else None
            back+=1
            combo_front = 0
            combo_back += 1
            if combo_back_history < combo_back:
                combo_back_history = combo_back
        i+=1
    print('正面次数共为:', front, '连续出现次数为:', combo_front_history)
    print('反面次数为:', back, '连续出现次数为:', combo_back_history)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 11:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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