登录
首页 >  文章 >  python教程

代码日猴子市场的到来

时间:2024-12-26 12:39:58 337浏览 收藏

怎么入门文章编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《代码日猴子市场的到来》,涉及到,有需要的可以收藏一下

代码日猴子市场的到来

第22天:猴子市场

GitHub 仓库

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

第一部分

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

第二部分

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

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

让我们深入了解一下:

calc_price_changes 函数:

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

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

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

寻找四个连续变化的序列

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

步骤:

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

  2. 提取四个变化模式:(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 上联系。

到这里,我们也就讲完了《代码日猴子市场的到来》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>