非递归的pell函数python

时间:2018-03-28 21:26:58

标签: python python-3.x

def p_sequence():
    length = int(input("Sequence length: "))
    a = 0
    b = 1
    for i in range(length):
        c = 2*b+a
        a = b
        b = c
        print(b, "", end = "")
    print()

我正在尝试创建一个非递归的pell函数,我被卡住了。我想要的输出是:

length = 4
Output: 0 1 2 5

我得到了什么:

length = 4
Output: 2 5 12 29

我尝试将if语句放在for循环中但是它没有用...帮助?

2 个答案:

答案 0 :(得分:2)

在更改后,您将在第二个值joins(:balance)b中打印第二个值a,因此它将从序列中的第三个元素开始。将b更改为print(b, "", end = "")并将其放在print(a, "", end = "")之后将产生所需的输出。

此外,行for i in range(length):可以更改为print(b, "", end = ""),效果相同但更简单。

答案 1 :(得分:1)

看起来你在错误的时间打印了错误的变量。而是考虑:

var dyn = JsonConvert.DeserializeObject<dynamic>(rawJson);