2014-03-28 89 views
-1

我正在python中工作,试图编写一个代码,使Fibonacci序列作为列表返回结果。我会怎么做呢?我能够编写一个代码来返回不是列表的值,但我不确定如何去编写代码来返回列表。在Python中返回一个列表

(这是我必须只返回值的代码,只是没有列表)

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() 
+3

你没有参加任务吗?你的同学们上周提出这个问题。 – devnull

回答

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() 
0

可以使用屈服,当你想返回值,所以你只需要使用它作为参数的清单功能将您的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())