面向对象思维编程

class Sieve(Item):
    def out(self):
        n = self.source.out()
        self.source=Filter(self.source,n)
        return n

    def __init__(self,src):
        self.source = src

class Counter:

    def __init__(self,v):
        self.value = v

    def out(self):
        v = self.value
        self.value+=1
        return v

class Filter:

    def out(self):
        while(True):
            n = self.source.out()
            if n % self.factor != 0:
                return n

    def __init__(self, src, f):
        self.source = src
        self.factor = f

c = Counter(2)
s = Sieve(c)
n = input('输入数字')
n = int(n)
while(True):
    nextt = s.out()
    if(nextt>n):
        break
    print(str(nextt)+'  ')
发布了54 篇原创文章 · 获赞 36 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/aaalswaaa1/article/details/88993265