def fbn(a ,b ):
while 1:
a,b = b,a+b
yield b
def come(a = 1,b = 1,num = 10):
c = iter(fbn(a,b))
d = 0
if num >= 0:
if num == 1:
print(a)
if num == 2:
print(a,b,sep = ',')
if num > 2:
print(a,b,sep = ',',end=',')
for i in range(num-2):
d += 1
print(next(c),end=',')
else:
print("\n**输入不能为负数**\n")
print("初始数据为:{},{}\n一共完成{}次迭代\n".format(a,b,d))
if __name__ == '__main__':
while 1:
try:
num = int(eval(input("斐波那契数个数:")))
come(num = num)
except Exception as e:
print("\n**输入格式错误-----输入只能是正整数**\n\n具体:{}".format(e))
print("退出函数!")