from collections import Iterator,Iterable
"斐波那契数列 汉诺塔问题 八皇后问题 迷宫求解"
"0 1 1 2 3 5 8 13 21 "
class FibIter(object):
def __init__(self, length):
self.length = length
self.number1 = 0
self.number2 = 1
self.index = 0
def __iter__(self):
"提供迭代器"
return self
def __next__(self):
"""提供下一个元素的值"""
if self.index == self.length:
raise StopIteration
else:
self.index += 1
ret = self.number1
# 将后面的数据计算
self.number1,self.number2 = self.number2,self.number1 + self.number2
return ret
# for i in FibIter(100):
# # next(fb)
# print(i)
print(isinstance(100, Iterator))
print(isinstance(FibIter(10), Iterator))
print(isinstance(FibIter(10), Iterable))
lst = list(FibIter(10))
print(list)
"斐波那契数列 汉诺塔问题 八皇后问题 迷宫求解"
"0 1 1 2 3 5 8 13 21 "
class FibIter(object):
def __init__(self, length):
self.length = length
self.number1 = 0
self.number2 = 1
self.index = 0
def __iter__(self):
"提供迭代器"
return self
def __next__(self):
"""提供下一个元素的值"""
if self.index == self.length:
raise StopIteration
else:
self.index += 1
ret = self.number1
# 将后面的数据计算
self.number1,self.number2 = self.number2,self.number1 + self.number2
return ret
# for i in FibIter(100):
# # next(fb)
# print(i)
print(isinstance(100, Iterator))
print(isinstance(FibIter(10), Iterator))
print(isinstance(FibIter(10), Iterable))
lst = list(FibIter(10))
print(list)