• python习题——随机整数生成类


    随机整数生成类

    可以先设定一批生成数字的个数,可设定指定生成的数值的范围

    1.普通类实现
    import random
    import random
    
    
    class RandomGen:
        def __init__(self, start=1, stop=100, count=100):
            self.start = start
            self.stop = stop
            self.count = count
            
        def generate(self):
            return [random.randint(self.start, self.stop) for i in range(self.count)]
        
        
    print(RandomGen().generate())
    
    2.作为工具类来实现,提供类方法
    import random
    
    
    class RandomGen:
        @classmethod
        def generate(self, start=1, stop=100, count=10):
            return [random.randint(start, stop) for i in range(count)]
    
    
    print(RandomGen().generate())
    
    
    2. 生成器实现1
    import random
    
    
    class RandomGen:
        def __init__(self, start=1, stop=100, count=100):
            self.start = start
            self.stop = stop
            self.count = count
            self._gen = self._generate()
    
        def _generate(self):
            while True:
                yield random.randint(self.start, self.stop)
                
        def generate(self):
            return [next(self._gen) for i in range(self.count)]
    
    
    print(RandomGen().generate())
    
    2. 生成器实现2
    import random
    
    
    class RandomGen:
        def __init__(self, start=1, stop=100, count=100):
            self.start = start
            self.stop = stop
            self.count = count
            self._gen = self._generate()
    
        def _generate(self):
            while True:
                yield random.randint(self.start, self.stop)
    
        def generate(self):
            yield from (next(self._gen) for i in range(self.count))
    
    
    print(list(RandomGen().generate()))
    
    2. 生成器实现3
    import random
    
    
    class RandomGen:
        def __init__(self, start=1, stop=100, count=100):
            self.start = start
            self.stop = stop
            self.count = count
            self._gen = self._generate()
    
        def _generate(self):
            while True:
                yield random.randint(self.start, self.stop)
    
        def generate(self, count=0):  # 可以在后期生产数据时控制个数
            count = self.count if count <= 0 else count
            return [next(self._gen) for i in range(self.count)]
    
    
    print(RandomGen().generate(5))
    print(RandomGen().generate())
    
    2. 生成器实现4
    import random
    
    
    class RandomGen:
        def __init__(self, start=1, stop=100, count=100):
            self.start = start
            self.stop = stop
            self._count = count
            self._gen = self._generate()
    
        def _generate(self):
            while True:  # 一次yield 一批
                yield [random.randint(self.start, self.stop) for _ in range(self._count)]
    
        def generate(self, count=0):  # 可以在后期生产数据时控制个数
            if count > 10:
                self._count = count
            return next(self._gen)
    
    
    print(RandomGen().generate(5))
    print(RandomGen().generate())
    
    2. 生成器实现5
    import random
    
    
    class RandomGen:
        def __init__(self, start=1, stop=100, count=100):
            self.start = start
            self.stop = stop
            self._count = count
            self._gen = self._generate()
    
        def _generate(self):
            while True:  # 一次yield 一批
                yield [random.randint(self.start, self.stop) for _ in range(self._count)]
    
        def generate(self):  # 可以在后期生产数据时控制个数
            return next(self._gen)
    
        @property
        def count(self):
            return self._count
            
        @count.setter
        def count(self, count):
            self._count = count
            
    r = RandomGen()
    print(r.count)
    print(r.generate())
    r.count = 3
    print(r.generate())
    
  • 相关阅读:
    你知道require是什么吗?
    jQuery类库的设计
    多线程下载图片
    多线程与CPU和多线程与GIL
    一个python小爬虫
    一个方格表的问题
    使用django发布带图片的网页(上)
    uWSGI+Django+nginx(下)
    uWSGI+Django (中)
    Linux下安装Python3的django并配置mysql作为django默认数据库(转载)
  • 原文地址:https://www.cnblogs.com/duanming/p/11830283.html
Copyright © 2020-2023  润新知