《Python核心編程》第二版第308頁第十一章練習 續三 -Python核心編程答案-自己做的-

來源:互聯網
上載者:User

11-14.
遞迴。我們也來看下在第8章中的費伯納西數列。重寫你先前計算費伯納西數列的解(練習8-9)以便你可以使用遞迴。
【答案】本文來自部落格園balian
代碼如下:

#-*- encoding: utf-8 -*-def fibonacci(n):    "該函數能產生數列的第n個值"    returnn >= 2 and fibonacci(n - 2) + fibonacci(n - 1) or n
# From www.cnblogs.com/balian/

fiboseq=[]number = 10for i in range(number): fiboseq.append(fibonacci(i))print fiboseq

 

【參考】
Fibonacci(斐波那契)序列的4種求解演算法:

http://mrwlwan.wordpress.com/2011/09/02/4%E7%A7%8D-fibonacci%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E5%BA%8F%E5%88%97%E7%9A%84%E7%AE%97%E6%B3%95/

 

11-15.

遞迴。重寫練習6-5的解,用遞迴向後列印一個字串。用遞迴向前以及向後列印一個字串。

【注】附英文版題目的原文:

Recursion. Rewrite your solution to Exercise 6-5, which prints a string backwards to use recursion. Use recursion to print a string forward and backward.

【答案】

代碼如下:

#-*- encoding: utf-8 -*-def Rprint(n, string):    print string.pop(0), #當參數為0時,順序輸出字串。當參數為預設,也就是無參數時,逆序輸出字串    if n > 1: Rprint(n-1, string)a = raw_input("Please input a string ... ")stringList = []for i in a:    stringList.append(i)    print stringListRprint(len(stringList), stringList)    
# From www.cnblogs.com/balian/
 

 

【執行結果】參數為預設時,逆序輸出字串。

Please input a string ... this is an example.['t', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', 'n', ' ', 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.']. e l p m a x e   n a   s i   s i h t

 

【未完】
本題答案完成得不理想,期待更好的解答。

keyword Python核心編程答案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.