输入未知的斐波那契序列

2024-06-28 20:03:20 发布

您现在位置:Python中文网/ 问答频道 /正文

这个序列运行得很好。但我不希望我的输出为零。e、 g 112不是0112 这是myy代码:

n = int(input("Enter int > than 0:"))
first_var, second_var = 0, 1
current_count = 1
if n <= 0:
    print("Error! positive integers allowed only")
else:
    while current_count <= n:
        print(first_var)
        nth_term = first_var + second_var
        first_var = second_var
        second_var = nth_term
        current_count += 1

Tags: 代码inputvarcount序列currentintfirst
3条回答

您需要first_var也等于1,正如user@sahasrara62所建议的那样。
通常,当使用斐波那契序列时,从1开始;1,而不是0;1.

您的代码应该如下所示:

n = int(input("Enter int > than 0:"))
first_var, second_var = 1, 1
current_count = 1
if n <= 0:
    print("Error! positive integers allowed only")
else:
    while current_count <= n:
        print(first_var)
        nth_term = first_var + second_var
        first_var = second_var
        second_var = nth_term
        current_count += 1

您应该以1,1而不是0,1开始序列(即first_var设置为0,而second_var设置为1)

正如sahasrara62所述。您可以将1分配给第一个变量,以实现所需的输出。但是,这个序列将不再是斐波那契序列,因为斐波那契序列总是从0开始

相关问题 更多 >