fibonacci_question

#!usr/bin/env python
# -*- coding:utf-8 -*-
#
# import
fib=[]
def fibonacci(depth,a1,a2):

    if depth!=11:
        a3 = a1 + a2
        fibonacci(depth + 1,a2,a3)
        fib.append(a1)
        print(a1)
        # print(a2)
        # print(a3)
        # print(fib)
#为什么写成:
    # else:
    #     fib.sort()
    #     print(fib)
    # 输出的结果是:[34, 21, 13, 8, 5, 3, 2, 1, 1, 0]
    # fib.sort()
    # print(fib)
        # print(depth)
    return depth
fibonacci(1,0,1)
# fib.sort()
# fib.reverse()
print(fib)

因为在depth==11的时候会跳到else

而此时的sort只能对一个空列表执行,所以最后输出只会是一个没有调过来的结果  

原文地址:https://www.cnblogs.com/ezway/p/6380861.html