本题中我们要自定义一个迭代器去生成偶数数列,我们已在 solution.py 里帮你写好了部分代码,包括返回迭代器自身和定义参数。你需要在 next() 和 init() 里填写剩余代码,实现参数初始化并在 next() 方法内调用,设置累加条件。我们会在 main.py 里 print 你的返回值,若你的代码正确,控制台会输出一组从 0 开始的升序偶数数列。
注意定义方法时的缩进问题
注意中英文的标点符号
样例
评测机将会通过执行命令 python main.py <max_value> 来执行你的代码,
把 max_value 作为命令行参数传入,max_value 也就是我们初始化的参数 ,你可以在 main.py 了解代码是如何运行的。
针对不同的 max_value 你的代码应该输出不同的结果。
当执行 python main.py 6 的时候,你的代码应该输出:
[0, 2, 4, 6]
当执行 python main.py 10 的时候,你的代码应该输出:
[0, 2, 4, 6, 8, 10]
class EvenIterator:
def __init__(self, max_value):
# write your code here:
self.number = 0
self.stop_number = max_value
def __iter__(self):
return self
def __next__(self):
# write your code here:
result = self.number
if result > self.stop_number:
raise StopIteration
self.number += 2
return result