随机整数生成类

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

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. 检测 IP的正则表达式

    ... /*ip正则表达式*/ /^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})| ...

  2. 后门免杀工具-Backdoor-factory

    水一水最近玩的工具 弄dll注入的时候用到的 介绍这款老工具 免杀效果一般..但是简单实用  目录: 0x01 backdoor-factory简介 0x02 特点功能 0x03 具体参数使用 PS: ...

  3. 后台模板引擎ejs与前台模板引擎artTemplate的简单介绍

    动态网页是指前端页面当中的数据内容来源于后台数据库,前端的html代码会随着后台数据的变化而变化,是动态生成的.制作动态网页有两种方式,一种方式是在后台拿到前端的html模板,利用后台模板引擎(如ej ...

  4. Halcon一日一练:获取孔位

    本例程是用于获取安装螺丝孔在图像中对应的坐标位置,并显示该坐标位,如上图所示. read_image(Image,'rim.png')//读取图像 dev_close_window()//关闭窗口 g ...

  5. POJ 1062 昂贵的聘礼(带限制条件的dijkstra)

    题目网址:http://poj.org/problem?id=1062 题目: 昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submis ...

  6. 微信小程序单选/多选框样式重新

    /* 重写 checkbox 样式 */ /* 未选中的 背景样式 */ checkbox .wx-checkbox-input{ border-radius: 50%;/* 圆角 */ width: ...

  7. 利用hash远程登陆系统

    有的时候当我们拿到系统管理员hash由于密码复杂度过高无法破解时候可以利用hash直接进行远程登录 我们用到Metasploit里面的模块 肉鸡为windwos server 2003 x32系统 1 ...

  8. Uipath 浏览器页面最大化和最小化

    文章来源东京IT青年前线http://www.rpatokyo.com/ Uipath 浏览器页面最大化和最小化   浏览器在关闭时会自动记忆上次浏览器关闭时窗口的小,下次再次会以同样的大小打开.机器 ...

  9. 2019.10.26 CSP%您赛第三场

    \(CSP\)凉心模拟^_^ --题源\(lqx.lhc\)等各位蒟蒻 题目名称 比赛 传递消息 开关灯 源文件名 \(competition.cpp\) \(message.cpp\) \(ligh ...

  10. window下设置定时任务及基本配置

    ### window下设置定时任务及基本配置 轉載請註明出處: https://www.cnblogs.com/funnyzpc/p/11746439.html |****************** ...