class Primes:
@staticmethod
def __isprime(x):
for i in range(2, x):
if x % i == 0:
return False
return True
def __init__(self, b, n):
self.begin = b
self.count = n
def __iter__(self):
self.cur_pos = self.begin
self.cur_count = 0
return self
def __next__(self):
if self.cur_count >= self.count:
raise StopIteration
self.cur_count += 1 # 计数加1
while True:
if self.__isprime(self.cur_pos):
v = self.cur_pos
self.cur_pos += 1
return v
self.cur_pos += 1
for x in Primes(10, 4):
print(x) # 11 13 17 19
@staticmethod
def __isprime(x):
for i in range(2, x):
if x % i == 0:
return False
return True
def __init__(self, b, n):
self.begin = b
self.count = n
def __iter__(self):
self.cur_pos = self.begin
self.cur_count = 0
return self
def __next__(self):
if self.cur_count >= self.count:
raise StopIteration
self.cur_count += 1 # 计数加1
while True:
if self.__isprime(self.cur_pos):
v = self.cur_pos
self.cur_pos += 1
return v
self.cur_pos += 1
for x in Primes(10, 4):
print(x) # 11 13 17 19