[英]Returning a list in Python
我在 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()
這有效。 而不是打印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()
當您想返回值時,您可以使用 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())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.