代码日猴子市场的到来

代码日猴子市场的到来

第22天:猴子市场

GitHub 仓库

今天的挑战相当简单直接。大部分工作都体现在问题描述中:一些整数运算,最后再进行简单的求和(至少第一部分是这样)。

第一部分

代码非常简洁,我们循环2000次,每次生成一个新的秘密数字并存储起来,以便最后进行求和。

第二部分

这部分需要更多思考,但大部分逻辑也已在描述中给出。

calc_price_changes() 函数是主要区别之一。此函数处理一系列数字,仅计算“价格变化”以识别模式。

让我们深入了解一下:

calc_price_changes 函数:

处理生成的秘密数字列表。计算价格变化(每个秘密数字的最后一位)。识别四个连续变化的独特模式。根据这些模式累加分数。

它需要两个参数:一个数字列表(代表生成的秘密数字)和一个类似字典的对象 (defaultdict(int)),用于存储和累加独特的模式分数。

defaultdict 是一个非常有用的工具。它与普通字典类似,但有一个关键优势:如果字典中找不到键,它会自动创建该键并为其分配传入类型的默认值。

寻找四个连续变化的序列

for p in range(len(price_change_sequence) - 4 + 1):    changes = price_change_sequence[p: p + 4]    key = tuple((changes[0][0], changes[1][0], changes[2][0], changes[3][0]))    if key not in sequences:        sequence_sum[key] += changes[3][1]        sequences.add(key)

这段代码使用大小为4的滑动窗口提取四个连续的(变化,价格)元组。

例如:如果 price_change_sequence[(1, 5), (2, 7), (-1, 6), (3, 9)],则一个“块”为 [(1, 5), (2, 7), (-1, 6), (3, 9)]

然后,我们只提取四个元组中的变化值,例如 -2, -1, 1 等。如果该模式尚未被处理,则它是一个新模式,因此我们将最后一个价格(changes[3][1])添加到 sequence_sum[模式]。通过将键添加到 sequences 集合中,将其标记为已处理。

函数结束后:

sequence_sum 包含唯一(因为我们使用了集合)的四个变化模式及其累加分数的映射(基于每个序列中的最终价格)。

例如:{(1, 2, -1, 3): 9, (-2, 0, 1, -1): 6}.

演练

假设我们有一个输入:

generated_secrets = [45, 46, 50, 53, 58, 61]sequence_sum = defaultdict(int)calc_price_changes(generated_secrets, sequence_sum)

步骤:

计算价格变化:价格:[5, 6, 0, 3, 8, 1](最后一位数字)。变化:[(1, 6), (-6, 0), (3, 3), (5, 8), (-7, 1)]

提取四个变化模式:(1, -6, 3, 5) → 将 8(模式中的最后一个价格)添加到 sequence_sum(-6, 3, 5, -7) → 将 1 添加到 sequence_sum

输出:

{(1, -6, 3, 5): 8, (-6, 3, 5, -7): 1}

总结

所有这些是如何结合在一起的:

输入处理:我们读取输入并将其转换为秘密数字列表。

序列生成:对于每个秘密数字,我们迭代2000代,生成一系列派生值。

价格变化分析:我们计算序列中连续价格(最后一位数字)之间的差异,识别独特的四个变化模式及其累加分数。

结果提取:最后,我们找到总分最高的模式,确定最有影响力的模式。

通过将问题分解成清晰的模块化步骤,我们有效地处理了数据、跟踪了模式并解决了难题。

希望这对你有所帮助,并且你从我的解答中学到了一些东西。欢迎关注或在 Twitter 上联系。

以上就是代码日猴子市场的到来的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1355064.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 19:00:16
下一篇 2025年12月8日 04:47:27

相关推荐

  • Altikrity 简介:多层加密库

    Altikrity是一个强大的多层加密Python库,旨在保护您的代码和敏感数据。无论是防止未授权访问,还是保护机密信息,Altikrity都能提供可靠的解决方案。 核心功能: 多层加密: 采用多层加密机制,抵御多种安全威胁。简易API: 提供简洁易用的API,方便快速加密和解密数据。安全执行: 确…

    2025年12月13日
    000
  • 通过 FastAPI 中的异步编程增强您的 API 性能

    准备构建高性能api?fastapi助您一臂之力!它能打造快速响应、高效处理高负载的api,本文将详解如何利用fastapi的异步编程实现这一目标,并指导您编写和测试异步端点。 学习目标 本文将带您掌握: 异步编程基础及优势。FastAPI异步开发环境搭建。异步端点的编写和测试实战。使用异步库处理H…

    2025年12月13日
    000
  • c如何调用python脚本

    C调用Python的核心在于Python/C API,通过它可以在C中操控Python对象和函数,实现数据处理和算法优势的结合。调用步骤包括初始化Python解释器、导入模块、获取对象和调用函数。需要注意内存管理、错误处理、类型转换和线程安全等细节,遵循性能优化和最佳实践,以确保高效、健壮的代码。 …

    2025年12月13日
    000
  • 为 Django 项目的生产部署生成 SECRET_KEY

    django secret_key 需要提供加密签名(文档)。该值存储在 /settings.py 文件中。当您启动新项目时,它将从内置函数(源代码)生成。对于生产部署,secret_key 必须强大且受到可靠保护。 这些步骤可帮助您生成新的 secret_key 值: 激活项目的虚拟环境: sou…

    好文分享 2025年12月13日
    000
  • 使用 AppSignal 在 Django 中查找并修复 N+ueries

    在本文中,您将了解 n 1 查询、如何使用 appsignal 检测它们,以及如何修复它们以显着加快 django 应用程序的速度。 我们将从理论方面开始,然后转向实际示例。实际示例将反映您在生产环境中可能遇到的场景。 让我们开始吧! 什么是n 1查询? n 1 查询问题是与数据库交互的 web 应…

    2025年12月13日 好文分享
    000
  • 机器学习简化之旅

    开始一个机器学习项目可能会让人感到不知所措,就像解决一个大难题一样。虽然我的机器学习之旅已经有一段时间了,但我很高兴能够开始教学和指导其他渴望学习的人。今天,我将向您展示如何创建您的第一个机器学习 (ml) 管道!这个简单但功能强大的工具将帮助您有效地构建和组织机器学习模型。让我们深入了解一下。 问…

    好文分享 2025年12月13日
    000
  • 嵌套之美

    每周挑战 300 穆罕默德·s·安瓦尔 (mohammad s. anwar) 每周都会发出“每周挑战”,让我们所有人都有机会为两周的任务提出解决方案。我的解决方案首先用python编写,然后转换为perl。这对我们所有人来说都是练习编码的好方法。 挑战,我的解决方案 这是第三百次挑战,让我个人感谢…

    好文分享 2025年12月13日
    000
  • 并发模式:主动对象

    介绍 主动对象模式是一种并发设计模式,它将方法执行与方法调用解耦。此模式的主要目标是通过在单独的线程中执行操作来引入异步行为,同时向客户端提供同步接口。这是通过消息传递、请求队列和调度机制的组合来实现的。 关键部件 proxy:代表客户端的公共接口。更简单地说,这就是客户端将要交互的内容。它将方法调…

    好文分享 2025年12月13日
    000
  • 代码日到来键盘难题

    第 21 天:键盘难题 github 存储库 – 解决方案 今天的挑战很难,我花了两天时间才解决,也完全理解了逻辑。今年我发现,我很难理解这些说明的意图。 我希望您像我一样从这个挑战和解决方案中学到了一些东西。我发现每年参加“advent of code”,我都会学到很多东西,这就是为什…

    好文分享 2025年12月13日
    000
  • 堆栈和队列 ||蟒蛇 ||数据结构和算法

    堆栈 (Stack) 堆栈是一种后进先出 (LIFO) 的数据结构。 想象一下一叠盘子:你只能从顶部添加或移除盘子。 压栈 (push): 将元素添加到堆栈顶部。出栈 (pop): 从堆栈顶部移除并返回元素。 堆栈的应用场景包括函数调用、撤销操作、浏览器历史记录、表达式求值、语法分析和深度优先搜索 …

    2025年12月13日
    000
  • 标题:使用 Python 构建评分系统:

    开发社区您好! 我很高兴分享我的评分系统工作簿,这是我的第一个 Python 项目之一!当我深入研究 Python 时,我想创建一些实用的东西,可以用来根据各种输入条件有效地计算成绩。 项目概况 该项目涉及创建一个评分系统,根据分数和权重等其他因素自动计算成绩。该脚本接受不同作业或考试的学生分数等输…

    好文分享 2025年12月13日
    000
  • pip怎么更新包 如何更新pip3

    答案: 更新pip本身,用 python -m pip install –upgrade pip;更新包,用 pip install –upgrade 包名。详细描述:Pip是Python的包管理工具,用于下载、安装和更新Python库。需要更新pip的原因在于,新版本可以修…

    2025年12月13日
    000
  • pi怎么更新最新版本 怎样更新pip命令

    pip更新指南pip是Python包管理器,而Pi是树莓派操作系统,两者无关。更新pip:使用命令python -m pip install –upgrade pip或python3 -m pip install –upgrade pip。使用虚拟环境可以隔离项目依赖关系,更…

    2025年12月13日
    000
  • PyTorch 中的位置

    请我喝杯咖啡☕ *我的帖子解释了 places365。 places365() 可以使用 places365 数据集,如下所示: *备忘录: 第一个参数是 root(必需类型:str 或 pathlib.path)。 *绝对或相对路径都是可能的。第二个参数是 split(可选-默认:“train-s…

    2025年12月13日 好文分享
    000
  • Python 中的这种运行时元编程模式很有趣

    背景 我目前正在开发一个基于 pyodide 的 ui 框架,称为 zenaura。最近,我注意到构建器界面(用户创建 ui 元素的主要方式)有点过于复杂且没有吸引力。虽然它确实抽象了底层的、更麻烦的接口来与 zenaura 的虚拟 dom“节点”数据结构交互,但它仍然不能令人满意。我想简化事情并为…

    好文分享 2025年12月13日
    000
  • Python:一篇文章的全面概述

    Python 的魅力何在?您最期待探索哪些项目或概念呢?欢迎在评论区分享您的想法! Python 作为一门用途广泛的高级编程语言,以其简洁性和易读性而备受推崇。它广泛应用于网络开发、数据分析、人工智能、科学计算等众多领域。本文将为您提供 Python 基础知识的快速入门指南。 1. Python 的…

    2025年12月13日
    000
  • 揭秘 Python 卓越编程的飞跃

    python 软件基金会于 2023 年 10 月 2 日正式发布了 python 3.12,引入了大量新功能和性能增强。此最新版本旨在改善开发人员体验并优化语言以满足现代编程需求。 要点 引入新的语法功能以提高代码可读性。 各个模块的性能显着提升。 通过验证代码实现增强安全措施。 新语法功能 Py…

    好文分享 2025年12月13日
    000
  • Day 字符串函数和递归

    1. 在字符串中添加空格 以下代码在字符串todayisfriday的每个字符之间插入空格: txt = “todayisfriday”result = ” “.join(txt)print(result) # 输出:t o d a y i s f r i d a y 2. 删除字符串中的空格 以下…

    2025年12月13日
    000
  • 使用 Bitnami Django 堆栈在 AWS Lightsail 上从 GitHub 部署 Django 应用程序

    本教程指导您使用bitnami django栈将github上的django web应用部署到aws lightsail实例。bitnami提供的预配置生产环境包含django、web服务器(nginx或apache)和数据库(postgresql或mysql),简化了部署流程。完成本教程后,您可在…

    2025年12月13日 好文分享
    000
  • 打包Python文件的最简单方法(转为exe文件)

    python 解释器打包指南:轻松创建 windows .exe 文件 本文介绍一种简便方法,用于将 Python 程序打包成可在 Windows 系统上运行的独立 .exe 文件。该方法利用 PyInstaller 库和一个自动化打包工具,无需复杂的编译步骤。GitHub 仓库地址(请为项目加星标…

    2025年12月13日 好文分享
    000

发表回复

登录后才能评论
关注微信