def __getitem__(self,n):
if isinstance(n, int):
a, b =5, 1 #为什么这边的a 好像没有用到
for x in range(n+1):
a, b= b, a+b
return a
if isinstance(n,slice):
start=n.start
end=n.stop
step=n.step
l=[]
a,b=1,1
count=0
for x in range(end):
while count<step:
a, b= b, a+b
count=count+1
print('count is %s now' % count)
print('a:%s b:%s' %(a,b))
if x >= start:
l.append(a)
return l
帘项小竹liz
代码有以下几个问题: 1,不能实现切片的start缺省,即 m=fib() print(m[:3]) 会报错 2,好像a,b定义时无效, 3,实现m[3:9:2]的step的时候有错误 求解决