首页 > 解决方案 > 数字序列的代码 10^8 种可能性

问题描述

如何制作 python 代码,使其打印所有 8 位长的数字序列?(对于 10^8 种可能性)一个例子是 56789504。我尝试了一些 for 循环,但没有奏效:

def my_range(10000000, 99999999, 1):
    while start <= end:
        yield start
        start += step

for x in my_range(1, 10, 0.5):
    print(x)

标签: python

解决方案


range(n,m)给你整数>=n<m,所以理论上这会给你你想要的:

print(list(range(10_000_000,100_000_000)))

然而,实际上列出每一个数字是行不通的,因为有大量的数字。作为参考,运行这个:

print(list(range(10_000_000,11_000_000)))

我的电脑运行了大约一分钟。您的计算机实际上不太可能打印出 (10_000_000,100_000_000) 中的每个数字

帮助解决此问题的一种方法是建立索引。你可以像这样设置一个范围:

gen = range(10_000_000,100_000_000)

其中,当您编制索引时,您可以提取特定值:

print(gen[345])

结果10_000_345。您可以像使用范围一样使用范围list


推荐阅读