自动化无聊的事情 - 硬币翻转条纹

2023-12-28

我知道现在有很多关于它的问题,即使是同一个问题,但我想我尝试了一些不同的方法。

任务是收集 10,000 个样本,每个样本 100 次翻转,然后计算所有样本中出现 6 次正面或反面连续出现的概率 - 据我所知。但在之前的问题中,编码问题被描述得有点模糊。因此,如果你们能指出代码中的错误,那就太好了:)

我试图尽可能地偷懒,这导致我的 MacBook 工作非常努力。这是我的代码。当前值与之前值的比较的第一次迭代是否有问题(据我所知,我会将索引 -1(那么索引 100?)与当前值进行比较?)

import random

#variable declaration

numberOfStreaks = 0
CoinFlip = []
streak = 0

for experimentNumber in range(10000):
    # Code that creates a list of 100 'heads' or 'tails' values.
    for i in range(100):
        CoinFlip.append(random.randint(0,1))
    #does not matter if it is 0 or 1, H or T, peas or lentils. I am going to check if there is multiple 0 or 1 in a row        

    # Code that checks if there is a streak of 6 heads or tails in a row.
    for i in range(len(CoinFlip)):
        if CoinFlip[i] == CoinFlip[i-1]:  #checks if current list item is the same as before
            streak += 1 
        else:
            streak = 0

        if streak == 6:
            numberOfStreaks += 1

print('Chance of streak: %s%%' % (numberOfStreaks / 100))

我哪里弄乱了?我实在是看不出来啊!


您需要重置 CoinFlip 列表。您当前的程序只是不断追加到 CoinFlip,这使得列表非常长。这就是你的表现不好的原因。我还添加了对 i==0 的检查,这样您就不会与列表的末尾进行比较,因为这在技术上不是连续的一部分。

for experimentNumber in range(10000):
    # Code that creates a list of 100 'heads' or 'tails' values.
    for i in range(100):
        CoinFlip.append(random.randint(0,1))
    #does not matter if it is 0 or 1, H or T, peas or lentils. I am going to check if there is multiple 0 or 1 in a row

    # Code that checks if there is a streak of 6 heads or tails in a row.
    for i in range(len(CoinFlip)):
        if i==0:
            pass
        elif CoinFlip[i] == CoinFlip[i-1]:  #checks if current list item is the same as before
            streak += 1
        else:
            streak = 0

        if streak == 6:
            numberOfStreaks += 1

    CoinFlip = []

print('Chance of streak: %s%%' % (numberOfStreaks / (100*10000)))

我还认为你需要除以 100*10000 才能得到真正的概率。我不知道为什么他们"hint" https://automatetheboringstuff.com/2e/chapter4/建议仅除以 100。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动化无聊的事情 - 硬币翻转条纹 的相关文章

随机推荐

  • 类型错误:opendirSync 不是函数

    我正在编写一个电子应用程序 我想使用 fs 模块的 opendirSync 函数来计算目录中的文件数量 但是 我收到以下错误 node 12944 UnhandledPromiseRejectionWarning TypeError fs
  • Symfony2 的 AccessDeniedHandlerInterface 自动重定向未经授权的用户

    当实施AccessDeniedHandler接口 http api symfony com 2 5 Symfony Component Security Http Authorization AccessDeniedHandlerInter
  • 班级助手有什么用处?

    Delphi 可能还有很多其他语言 有类助手 它们提供了一种向现有类添加额外方法的方法 无需创建子类 那么 类助手有什么用处呢 我正在使用它们 To 插入枚举器 http 17slon com blogs gabr 2007 03 fun
  • GCM 寄存器阻塞 AsyncTask,直到发生超时

    我正在尝试使用 GCM 获取我的设备注册 ID 我执行此操作的代码包含在从我的主线程调用的 AsyncTask 中 主要代码 try String deviceId new Gcm execute this activity get 5 T
  • 迭代哈希集合

    Journal gt 4 785 0 13 21 9165000915527 14 213 008995056152 15 50 074499130249 如何在 Ruby 中迭代此哈希 以及如何分离键和值 Ruby 有一个统一的迭代接口
  • 如何在 Flask 中“jsonify”列表? [复制]

    这个问题在这里已经有答案了 现在Flaskjsonify 列表时会引发错误 我知道可能存在安全原因https github com mitsuhiko flask issues 170 https github com mitsuhiko
  • 如何使用 imagemagick 将两个文件夹中的图像并排合并到一起?

    我有两个文件夹 A and B 以及具有相应名称的图像文件 例如 每个都包含标记为01 png 02 png 03 png etc 我怎么能够merge相应的文件 这样我就有了第三个folder C其中包含所有合并的照片 以便两张原件并排放
  • Github API 响应“内容无效 Base64”

    使用 API 将某个非常简单的内容发布到 github 时 我收到 内容不是有效的 Base64 错误 内容是 unit li class s clearfix li 我正在使用 Base64 urlsafe encode64 对内容进行编
  • 算法优化-多点之间的最短路径

    问题 我有大量的点集合 这些点中的每一个都有一个列表 其中包含对其他点的引用 以及它们之间的距离已经计算并存储 我需要确定从起点开始并经过特定数量的点到达任何目的地的最短路线 例如 我正在度假 并且住在某个特定的城市 我正在进行一次单程旅行
  • 是否可以从 aspnet core api 中的中间件向控制器发送值?

    我想知道是否可以将值从中间件发送到controllerAPI 例如 我想捕获一个特定的标头并将其发送到控制器 像这样的东西 public class UserTokenValidatorsMiddleware private readonl
  • JSP简单密码加密解密

    我需要加密密码以插入数据库 此外 当我需要该密码时 我需要解密该值 执行此操作的简单方法是什么 注意 此操作不必非常安全 请不要实施您当前的计划 而应该使用信息摘要 http docs oracle com javase 7 docs ap
  • 表格内的绝对定位

    我需要在 td 内使用绝对定位来定位某些内容 为了解决 td 在将其设置为相对时未定义的事实 我在 td 内使用设置为相对的 div 然后在该 div 内将内部 div 设置为绝对 当我有内容填满 td 时 这一切都非常有效 当我将 td
  • 使用 Spring AMQP 接收和发送 Java 对象

    我想实现 Spring AMQP 示例 用于使用侦听器发送和接收 Java 对象 我试过这个 发送Java对象 ConnectionFactory connectionFactory new CachingConnectionFactory
  • 从 Redis 列表中删除特定索引处的元素

    是否可以删除 Redis 列表中特定索引处的元素 并没有真正找到我想要的东西 有 Trim 允许您选择一组特定的元素 LREM 允许您按值删除列表中的项目 但我没有该值 我发现了一个 hack 您可以使用 LSET 将元素的值更改为 UID
  • iPhone Xs 和 Xs Max 在 iTunes 上没有显示 UDID?

    对于运行 iOS 12 的 iPhone Xs 和 Xs Max UDID 不会显示在最新版本的 iTunes 12 9 中 有谁知道如何从新版iTunes获取UDID吗 到目前为止 我成功地从 Xcode 获得了 24 位代码 我使用的是
  • 级联保留父级后,子级的 id 不存在

    我有一个User 家长 和一个Home 子 实体遵循单向一对多关系相关 我的问题是 当添加新的Home to a User 新创建并保留的Home没有id 这是正常的吗 如果我想要 id 我需要手动保留孩子吗 这些是我的实体 Entity
  • Go http 客户端超时与上下文超时

    http Client 中设置的超时和请求上下文中设置的超时有什么区别 我见过两种在 http 客户端中设置超时的方法 First ctx cancel context WithTimeout context Background 2 ti
  • 如何“随机”选择对特定数字有指定偏差的数字

    如何生成对一个数字具有指定偏差的随机数 例如 我将如何在 1 和 2 这两个数字之间进行选择 并且 90 的概率偏向 1 我能想到的最好的办法是 import random print random choice 1 1 1 1 1 1 1
  • jQuery - 检查子 div 是否可见

    我试图查看 li 的子 div 是否可见 如果可见 则向 li 应用一个类 这就是我得到的 但它不起作用 if jQuery menu li children div css display none jQuery li this addC
  • 自动化无聊的事情 - 硬币翻转条纹

    我知道现在有很多关于它的问题 即使是同一个问题 但我想我尝试了一些不同的方法 任务是收集 10 000 个样本 每个样本 100 次翻转 然后计算所有样本中出现 6 次正面或反面连续出现的概率 据我所知 但在之前的问题中 编码问题被描述得有