首页 > 编程问答 >在Python 3中获取范围的特定形式

在Python 3中获取范围的特定形式

时间:2024-07-28 06:46:27浏览次数:10  
标签:python python-3.x range

当获取 range(1,100) 时,我得到:

[ 1, 2, 3, 4, 5 ... 99 ]

我需要像这个范围的zip之类的东西:

[ 50, 49, 51, 48, 52, 47, 53 ... 99 ]

如何获取它?


背景 :这都是关于比特币谜题66的。

首先我做了对过去已知的私钥进行线性回归预测,直到第 65 题为止。我把第 66 个谜题和后面的两个谜题作为我想要得到的预测。我得到了三个整数。

现在我不想从 number-1M number+1M 搜索,因为我可能用原始数字更接近真实的私钥,所以我需要从中间搜索。这就是我们所需要的答案。


def custom_range(number, offset):
  """
  生成一个以给定数字为中心、以交替偏移量扩展的数字序列。

  Args:
    number: 中心数字。
    offset: 从中心数字开始的初始偏移量。

  Yields:
    序列中的下一个数字。
  """
  yield number
  for i in range(1, offset + 1):
    yield number - i
    yield number + i

# 示例用法:
number = 50
offset = 49

for i in custom_range(number, offset):
  print(i, end=" ")

解释:

  1. custom_range(number, offset) 函数:
  2. 接收 number (你要搜索的中心数字)和 offset (搜索范围,在本例中为 1,000,000)。
  3. 它使用 yield 关键字,使其成为一个生成器函数,可以根据需要生成数字,而不是一次性生成整个列表。

  4. 生成中心数字:

  5. 函数首先 yield number ,将中心数字作为序列中的第一个数字。

  6. 生成交替偏移量:

  7. for i in range(1, offset + 1): 循环从 1 到 offset 迭代。
  8. 在每次迭代中:
    • yield number - i :生成比中心数字小 i 的数字。
    • yield number + i :生成比中心数字大 i 的数字。
    • 这种交替生成确保首先搜索接近中心数字的数字,逐渐向外扩展。

如何使用:

  1. number 替换为的中心数字(来自的线性回归预测)。
  2. offset 设置为所需的搜索范围(在本例中为 1,000,000)。
  3. custom_range(number, offset) 现在将生成一个以的中心数字开始并以交替偏移量扩展的数字序列。

通过使用这个生成器,可以有效地在希望的范围内搜索私钥,首先优先考虑靠近中心数字的值。

标签:python,python-3.x,range
From: 77883241

相关文章

  • Python:如何使用pyaudio或sounddevice等库进行自动录音?
    我想做一个项目,需要满足以下录音要求:程序启动后,会在后台不断检测麦克风的声音,当声音分贝大于一定值时打开录音流级别,当分贝低于一定级别时关闭录音流并保存为wav文件。我知道原理,但我无法使用这些库来实现。我想实现以上结果使用Python实现自动录音以下代......
  • 当我们创建一个在 https 服务器上获取和发送数据的 python 应用程序时,我们应该如何处
    python脚本使用Urllib3,我的服务器是在Node.js上编写的脚本。我担心(并且不清楚)证书:我是否需要将我的python应用程序上的证书另存为变量?例如我这样做了,http=urllib3.PoolManager(cert_reqs="CERT_REQUIRED",ca_certs='client-cert.pem')并且我不知道......
  • 使用 Python 进行 Web 抓取以获取数据 NoneType ERROR
    我正在努力为我的学校项目获取美元和价格。所以我决定为此使用网络抓取,但我有一个问题。当我尝试在服务器上使用我的代码时,它给我NoneType错误。它可以在googlecolab上使用,但我无法在我的电脑或服务器上使用。我该如何解决这个问题?网页抓取代码;defdolar():he......
  • Python 请求 - response.json() 未按预期工作
    我正在尝试从Python的requests模块调用API。在邮递员上,返回的响应标头中的Content-Type是application/json;charset=utf-8,响应json数据是我期望的样子。但是,在python上的API的get方法之后运行response.json()会抛出错误simplejson.errors......
  • Python 中的“样板”代码?
    Google有一个Python教程,他们将样板代码描述为“不幸的”,并提供了以下示例:#!/usr/bin/python#importmodulesusedhere--sysisaverystandardoneimportsys#Gatherourcodeinamain()functiondefmain():print'Hellothere',sys.argv[1]#Command......
  • Python 3.9.1 中的 collections.abc.Callable 是否有 bug?
    Python3.9包含PEP585并弃用typing模块中的许多类型,转而支持collections.abc中的类型,现在它们支持__class_getitem__例如Callable就是这种情况。对我来说,typing.Callable和collections.abc.Ca......
  • 列表子类的 Python 类型
    我希望能够定义列表子类的内容必须是什么。该类如下所示。classA(list):def__init__(self):list.__init__(self)我想包含键入内容,以便发生以下情况。importtypingclassA(list:typing.List[str]):#Maybesomethinglikethisdef__init__(self):......
  • Python 中类型友好的委托
    考虑以下代码示例defsum(a:int,b:int):returna+bdefwrap(*args,**kwargs):#delegatetosumreturnsum(*args,**kwargs)该代码运行良好,只是类型提示丢失了。在Python中使用*args,**kwargs来实现​​委托模式是很常见的。如果有一种方法可......
  • 使用 python 支持构建自定义 vim 二进制文件
    背景Debian11vim软件包不包含python3支持。请参阅标题为“Debian11vim中不支持python-证据”的部分下面我需要vim支持python3YouCompleteMevim插件为了构建一个新的,我将vim9.0tarball下载到v......
  • 如何在Python 3.12+中正确使用泛型来提高代码质量?
    我正在尝试使用泛型来改进FastAPI应用程序中的类型注释。我有一个抽象存储库类,在其中使用泛型:fromabcimportABC,abstractmethodfromtypingimportListclassAbstractRepository[T](ABC):@abstractmethodasyncdefadd_one(self,data:dict)->T:......