永恒的蓝色梦想 发表于 2020-4-2 18:57:47

Python 实现 itertools.count

from numbers import Number

def count(start, step=1):
    if isinstance(start,Number) and isinstance(step,Number):
      while True:
            yield start
            start+=step

    else:
      raise TypeError("a number is required")如果代码有问题,欢迎在评论区指出{:10_323:}

zltzlt 发表于 2020-4-2 18:59:56

不应该是一个类吗

永恒的蓝色梦想 发表于 2020-4-2 19:01:55

zltzlt 发表于 2020-4-2 18:59
不应该是一个类吗

其实差别也不大,全凭心情{:10_262:}from numbers import Number

class count:
    def __init__(self,start,step=1):
      if isinstance(start,Number) and isinstance(step,Number):
            self.__start=start
            self.__step=step

      else:
            raise TypeError("a number is required")
   
    def __iter__(self):
      return self

    def __next__(self):
      temp=self.__start
      self.__start+=self.__step
      return temp

小人物来了 发表于 2020-4-2 19:07:27

看不懂,来学习
页: [1]
查看完整版本: Python 实现 itertools.count