我按照Fluent Python一书的Chapter 14 Control Flow,
遇到以下代码的问题:
class ArithmeticProgression:
def __init__(self, begin, step, end=None):
self.begin = begin
self.step = step
self.end = end
def __iter__(self):
result = type(self.begin + self.step)(self.begin)
forever = self.end is None
index = 0
while forever or result < self.end:
yield result
index = + 1
result = self.begin + self.step * index
当我根据书进行测试时:
In [220]: ap = ArithmeticProgression(1, 1, 5)
In [221]: ap
Out[221]: <__main__.ArithmeticProgression at 0x1098b2160>
In [222]: list(ap)
#it run endless not return any result
#I should Ctrl+C to break it mandatory
我在 master · fluentpython/example-code 处逐行使用example-code/aritprog_v1.py的源代码检查我的代码,
但没有发现任何问题。
牛魔王的故事
相关分类