(我在基础计算机科学课上,这是家庭作业)
我正在尝试创建一个以“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
知道如何解决这个问题吗?
答案 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()