1、yield,将函数变为 generator (生成器)
例如:斐波那契数列
def fib(num):
a, b, c = 1, 0, 1
while a <= num:
yield c
b, c = c, b + c
a += 1
for n in fib(10):
print(n, end=' ')
# 1 1 2 3 5 8 13 21 34 55
2、Iterable
所有可以使用for循环的对象,统称为 Iterable (可迭代
今天敲代码的时候发现了一个BUG和大家分享一下,希望大家下次不要犯和我一样的错误。
如果犯了和我一样的错,也能知道自己错在哪里!
函数如下:(斐波那契数列的实现)
long long FibonacciSeq( int n)
{
long long *fib=new long long[n+1];
fib[0] = 0;
fib[1] = 1;
for (int i = 2;i <=n; i++)
{
fib[i] = fib[i
斐波那契数列
当年,典型的递归题目,斐波那契数列还记得吗?
def fib(n):
if n==1 or n==2:
return 1
else:
return fib(n-1)+fib(n-2)
当然, 为了程序健壮性,加上 try...except...
def fib(n):
if isinstance(n, int):
print('兄弟,输入正整数哈')
return
try:
if n==1 or n==2:
r