选择了两个第一个值的类卢卡斯系列

Lucas-like series with two first values chosen

我想创建一个函数来构造类似 Lucas-(或 Fibonacci-)的序列。我希望能够选择两个第一个数字,然后使下一个数字成为前两个数字的总和。我考虑这个问题的方式是:

def lucaslike(a, b, n):
    x = [a, b]
    for i in range(2, n+1):
        return x.append(x[i-1] + x[i-2])

但是当我尝试使用它时 print(lucaslike(3, 6, 10)),我发现函数没有定义。

我希望能够告诉函数生成类似 Lucas 的 n=10 项序列,例如当两个第一个值是 a=3 和 b=6 时。这样输出应该是:[3, 6, 9, 15, 24, 39, ...].

您可以这样更改代码:

def lucaslike(a, b, n):
    x = [a, b]
    for i in range(2, n+1):
        x.append(x[i-1] + x[i-2])
    return x

像那样,这个函数将return只放在Lucas_like个句子的整个列表的末尾。

lucaslike(3,6,10)print(lucaslike(3,6,10)) 将 return [3, 6, 9, 15, 24, 39, 63, 102, 165, 267, 432]