随机整数生成类

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

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())

python习题——随机整数生成类的更多相关文章

  1. Python:随机生成测试数据的模块--faker的基本使用

    本文内容: faker的介绍 faker的使用 小例子:生成随机的数据表信息 首发日期:2018-06-15 faker介绍: faker是python的一个第三方模块,是一个github上的开源项目 ...

  2. 用Java实现在【520,1314】之间生成随机整数的故事

    做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 在未来城市工作的的程序员小木,做了一个梦,梦到自己在塔鲁姆的街道上看到一个姑娘,这个姑娘从远处走向他,脸上带着微笑.让小木 ...

  3. JAVA代码:生成一个集合,自定义大小,100以内的随机整数

    JAVA代码:生成一个集合,自定义大小,100以内的随机整数 方法一:(Random类) package com.dawa.test; import java.util.ArrayList; impo ...

  4. java Math.random()生成从n到m的随机整数

    Java中Math类的random()方法可以生成[0,1)之间的随机浮点数.而double类型数据强制转换成int类型,整数部分赋值给int类型变量,小数点之后的小数部分将会丢失. 如果要生成[0, ...

  5. python随机值生成的常用方法

    一.随机整数1.包含上下限:[a, b] import random #1.随机整数:包含上下限:[a, b] for i in range(10): print(random.randint(0,5 ...

  6. javascript生成n至m的随机整数

    摘要: 本文讲解如何使用js生成n到m间的随机数字,主要目的是为后期的js生成验证码做准备. Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包 ...

  7. javascript生成指定范围的随机整数

    JavaScript有提供一个生成值区间在(0, 1)的随机小数的函数. Math.random(); // 0.10529863457509858 如果你和喜欢的人一起执行这个函数,之后生成的随机小 ...

  8. Golang生成区间随机整数

    package main import ( "fmt" "math/rand" "time" ) func main() { rand.Se ...

  9. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的 ...

随机推荐

  1. 网页布局——table布局

    table 的特性决定了它非常适合用来做布局,并且表格中的内容可以自动居中,这是之前用的特别多的一种布局方式 而且也加入了 display:table;dispaly:table-cell 来支持 t ...

  2. 我眼中的如何成为一名合格的PHP高级开发工程师

    转眼间搞PHP已超过10年准确的说12年,混在帝都,也经历过大公司小公司,有个同行朋友问我,我就思考下,如何成为一名合格的PHP高级开发 所有的所有仅限综合知识,因为PHP其实内容也很多,有的人专门研 ...

  3. redis缓存+session 实现单点登录

    一.单点登录介绍 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系 ...

  4. MySQL索引的建立与实现

    一.索引介绍 1.MySQL中,所有的数据类型都可以被索引,索引包括普通索引,唯一性索引,全文索引,单列索引,多列索引和空间索引等. 2.额外的:我已知的自动创建索引的时机:创建主键,唯一,外键约束的 ...

  5. [JZOJ5817] 【NOIP提高A组模拟2018.8.15】 抄代码

    Description J 君是机房的红太阳,每次模拟她总是 AK 虐场.然而在 NOIP2117 中,居然出现了另一位 AK 的选手 C 君! 这引起了组委会的怀疑,组委会认为 C 君有抄袭 J 君 ...

  6. Tomcat源码分析三:Tomcat启动加载过程(一)的源码解析

    Tomcat启动加载过程(一)的源码解析 今天,我将分享用源码的方式讲解Tomcat启动的加载过程,关于Tomcat的架构请参阅<Tomcat源码分析二:先看看Tomcat的整体架构>一文 ...

  7. 2.2 C语言_实现数据容器vector(排序功能)

    上一节我们说到我们己经实现了一般Vector可以做到的自动扩充,告诉随机存取,那么现在我们需要完成vector的一个排序的功能. 排序算法我们网上一百度哇~~!很常见的就有8大排序算法: 1.选择排序 ...

  8. mac外接显示器 字体发虚解决方案

    描述 今天买的LG性价比之王21:9的2k显示器到了,但是连接mbp后发现,字体发虚,模糊 Macbook 外接显示器默认为 TV 模式,TV 渲染模式下,文字效果非常非常非常差 解决 下载 patc ...

  9. task一个任务结束后执行另一个操作

    //创建一个任务 Task<int> task = new Task<int>(() => { ; //显示进度条遮照层, this.ShowPrograssBar(); ...

  10. 优化 .net core 应用的 dockerfile

    优化 .net core 应用的 dockerfile Intro 在给 .net core 应用的写 dockerfile 的时候一直有个苦恼,就是如果有很多个项目,在 dockerfile 里写起 ...