作业:写一个可以迭代出从2开始的若干个质数
class Prime:
def __init__(self, num):
self.a = 2
self.num = num
self.counter = 0
def __iter__(self):
return self
def __next__(self):
if self.counter < self.num:
while True:
for x in range(2, int(self.a ** 0.5) + 1):
if self.a % x == 0:
break
else:
b = self.a
self.a += 1
self.counter += 1
return b
self.a += 1
raise StopIteration()
if __name__ == '__main__':
p = Prime(30)
for i in p:
print(i)
print()