zoukankan      html  css  js  c++  java
  • 《Python核心编程》第二版第308页第十一章练习 续三 Python核心编程答案自己做的

    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 = 10 for 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 stringList
    
    Rprint(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核心编程答案

  • 相关阅读:
    Codeforces 672D
    Codeforces 672C
    Codeforces 673D
    Codeforces 1181D
    Codeforces 1181C
    Codeforces 1011F
    Codeforces 1011E
    2020.1.3计导全面复习
    csp模拟题-201903
    CCF模拟题-201909
  • 原文地址:https://www.cnblogs.com/balian/p/2624521.html
Copyright © 2011-2022 走看看