zoukankan      html  css  js  c++  java
  • 【学习】使用生成函数实现可迭代对象

    实现一个可迭代对象的类,它能迭代出给定范围内所有素数

    实现方法:将该类的__iter__方法实现生成器函数,每次yield返回一个素数

     1 class PrimeNumbers:
     2     def __init__(self,start,end):
     3         self.start = start
     4         self.end = end
     5         
     6     def isPrimeNum(self,k):
     7         if k < 2:
     8             return False
     9         for i in xrange(2,k):
    10             if k % i == 0:
    11                 return False
    12         
    13         return True
    14         
    15     def __iter__(self):
    16         for k in xrange(self.start,self.end + 1):
    17             if self.isPrimeNum(k):
    18                 yield k
    19                 
    20 if __name__ == "__main__":
    21     for x in PrimeNumbers(1,100):
    22         print x
  • 相关阅读:
    异步非阻塞
    jdbc简单入门
    网络编程
    多线程
    java方法
    java之面向对象
    java-多线程
    Java之反射机制
    使用C#完成冒泡排序
    TextEdit不能空验证设置
  • 原文地址:https://www.cnblogs.com/banshaohuan/p/6919936.html
Copyright © 2011-2022 走看看