>

它能迭代出给定范围内有着的素数

- 编辑:cabet269com-亚洲城官网 -

它能迭代出给定范围内有着的素数

python使用生成器完成可迭代对象,python生成器

本文实例为大家享用了python使用生成器完毕可迭代对象的求实代码,供大家参谋,具体内容如下

案例解析:      

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

              pn = Number(1, 30)

              for k in pn:

                     print(k)

       结果为:2,3,5,7,11,13,17,19,23,29

什么样消除那么些主题素材?

将该类的__iter__办法达成有生成器函数,每回yield重临三个素数

#!/usr/bin/python3


class Number(object):
 def __init__(self, start, end):
  self.start = start
  self.end = end

 # 判断一个数字是否是素数
 def get_num(self, k):
  if k >= 2:
   for i in range(2, k):
    if k % i == 0:
     return False
   return True

 def __iter__(self):
  for k in range(self.start, self.end 1):
   if self.get_num(k):
    # 是素数yield出去
    yield k

if __name__ == '__main__':
 num = Number(2, 30)
 for i in num:
  print(i)

上述就是本文的全体内容,希望对大家的学习抱有利于,也期望大家多都赐教帮客之家。

本文实例为大家享受了python使用生成器达成可迭代对象的实际代码,供大家参照他事他说加以考查,具体内容如...

本文由cabet269计算机在线发布,转载请注明来源:它能迭代出给定范围内有着的素数