#!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只能对一个空列表执行,所以最后输出只会是一个没有调过来的结果