python自定義實現小於某數的整體素數迭代器

本博文源於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)])

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章