该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#传入参数可能是int或者slice
class fib2():
def __getitem__(self,n):
if isinstance(n,int):
a,b=1,1
for x in range(n):
a,b=b,a+b
return a
if isinstance(n,slice):
start=n.start
stop=n.stop
if start is None:
start=0
a,b=1,1
l=[]
for x in range(stop):
if x>=start:
l.append(a)
a,b=b,a+b
return l
class fib3():
def __getitem__(self,n):
if isinstance(n,int):
a,b=1,1
for x in range(n):
a,b=b,a+b
return a
if isinstance(n,slice):
start=n.start
stop=n.stop
if start is None:
start=0
a,b=1,1
for x in range(stop):
a,b=b,a+b
return a