本博文源於python基礎,旨在實現小於某數的整體素數迭代器實現
實驗效果
實驗原理
迭代器一共有四個部分,分別是
- init部分
- next部分
- iter部分
- 判斷素數部分
init部分主要做素數初始化,起始默認位置爲2,判斷素數部分是個true和false判斷,比較規矩。iter返回對象本身。next就是判斷是否是素數,如果是那就繼續判斷,否則跳過該數,繼續判斷
實驗代碼
class MyPrimes:
def __init__(self, end):
self.start = 2
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
n = int(input("請輸入一個整數"))
print([x for x in MyPrimes(n)])