python中的斐波纳契测序困难

时间:2015-06-12 05:48:12

标签: python fibonacci

(我在基础计算机科学课上,这是家庭作业)

我正在尝试创建一个以“n”为参数的基本fibonacci序列。

到目前为止,当我在空闲程序中运行程序时,我的工作似乎正常。

def fibonacci(n):
    a=0
    b=1
    n = input("How high do you want to go? If you want to go forever, put 4ever.")
    print(1)
    while stopNumber=="4ever" or int(stopNumber) > a+b:
       a, b = b, a+b
       print(b)
fibonacci(n)

但是当我尝试运行程序以便显示信息时我收到此错误

  Traceback (most recent call last):
 File "C:/Users/Joseph/Desktop/hope.py", line 10, in <module> fibonacci(n)
 NameError: name 'n' is not defined

知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

由于您的n函数正在输入,因此不需要传递参数。但是,如果您的错误n未在全局范围内定义。我会摆脱stopNumber参数。另外,只需将n替换为def fibonacci(): a=0 b=1 n = input("How high do you want to go? If you want to go forever, put 4ever.") print(1) while n == "4ever" or int(n) > a+b: a, b = b, a+b print(b) fibonacci()

SELECT TOP 1 year1 FROM cars WHERE year1 > 1900 
group by year1 
ORDER BY year1 Desc;

答案 1 :(得分:0)

当您调用n时,您不应该通过用户读取的fibonacci。此外,您还在使用stopNumber(不是n)。我想你想要

def fibonacci():
    a=0
    b=1
    stopNumber = input("How high do you want to go? " +
        "If you want to go forever, put 4ever.")
    print(1)
    while stopNumber=="4ever" or int(stopNumber) > a+b:
       a, b = b, a+b
       print(b)

fibonacci()