class MyPrimes:
def __init__(self, start, end):
self.start = start
self.end = end
def isPrimes(self, item):
if item <= 1:
return False
for y in range(2, item):
if item % y == 0:
return False
return True
def __iter__(self):
self.cur_val = self.start
return self
def __next__(self):
for item in range(self.cur_val, self.end):
if self.isPrimes(item):
self.cur_val = item + 1
return item
raise StopIteration
print([x for x in MyPrimes(5, 20)])
类迭代器实现素数(Python)
最新推荐文章于 2022-07-09 10:28:15 发布