解决/教授Python以解决数字系列

时间:2016-09-01 17:23:20

标签: python

除了教授基本模式规则并希望规则符合问题之外,是否有更好的方法使用Python解决数字系列问题?例如。我们将有一个函数列表,每个函数都有一个规则,并查看该系列是否适合。是否有一个库可以执行此操作,如果不是,我每次出现新模式时都会写入函数吗?

given_series = #random series 

def maybe_fib(series):
    #solve the fib
    throw error if wrong

def add_iterating_numbers(series):
    #solve the series
    throw error if wrong

.
.
.
.
.


list_of_possible_match = [maybe_fib, add_iterating_numbers, . . . ,  #list like fib, adding prime, taking the first 3 numbers and doing somethign with it]

for each_method in list_of_possible_match:
    try:
        each_method(given_series)
    catch error:
        print("didn't work out try another one")

if all_fail:
    #teach me new function/method?

数字系列基本上是一系列数字,您必须找到后续的下一个数字。它们的范围从简单的数学模式到计算像#7; 7'等数字中的角数。将是1.

数字系列的例子:

1 1 2 3 5 8 13 21 34 55 89(?) - 下一个数字是144

1 2 4 7 11 16(?) - 下一个数字是22

1 个答案:

答案 0 :(得分:0)

考虑使用OEIS。它是一个巨大的序列数据库,您可以检查。我会说,因为它可能没有所有可能的算术级数等,你可以通过编写一个检查基本序列的程序(试图找到常见的差异或二次差异等)得到最好的覆盖率,如果没有效果,检查数据库。

我不确定OEIS是否有任何类型的API,但您可能会发现this有帮助。

Wolfram还有widget尝试此功能,但用途非常有限。

如果您设法完成,则应在评论中发布指向您的代码的链接。这听起来像一个很酷的程序;我很乐意看到它:)