我在python中工作,尝试编写一个代码来制作Fibonacci序列并将结果作为列表返回。我该怎么做呢?我能够编写一个代码来返回值集而不是列表,但我不确定如何编写代码来返回列表。
(这里的代码我只需返回值,而不是列表)
def fibo1(par):
var1 = 0
var2 = 1
while var2 < par:
print var2
var3 = var1 + var2
var1 = var2
var2 = var3
def main():
number = int(raw_input("What is the number? "))
return (fibo1(number))
main()
答案 0 :(得分:0)
这很有效。而不是打印var2
,只需将其添加到列表中,并在完成后返回列表。这是工作代码:
def fibo1(par):
var1 = 0
var2 = 1
list = []
while var2 < par:
list.append(var2)
var3 = var1 + var2
var1 = var2
var2 = var3
return list
def main():
number = int(raw_input("What is the number? "))
print fibo1(number)
main()
答案 1 :(得分:0)
当您想要返回值时,可以使用yield将fibo1函数转换为生成器,因此您只需将其用作列表函数的参数:
def fibo1(par):
var1 = 0
var2 = 1
while var2 < par:
yield var2
var3 = var1 + var2
var1 = var2
var2 = var3
def main():
number = int(raw_input("What is the number? "))
return list(fibo1(number))
print repr(main())