Python 随机数 random
1. Python seed() 函数
seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。
seed( )是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。如:
import random
random.seed ( [x] )
其中的参数:x 是 改变随机数生成器的种子seed。如果不了解其原理,不必特别去设定seed,Python会自动选择seed。
该函数没有返回值。
例子:
import random random.seed( 10 )
print "Random number with seed 10 : ", random.random() # 生成同一个随机数
random.seed( 10 )
print "Random number with seed 10 : ", random.random() # 生成同一个随机数
random.seed( 10 )
print "Random number with seed 10 : ", random.random()
运行结果:
Random number with seed 10 : 0.57140259469
Random number with seed 10 : 0.57140259469
Random number with seed 10 : 0.57140259469
2. 使用 random.randint(a, b) 生成随机整数:生成一个 a≤n≤b 的随机整数,即包含a和b。
print random.randint(13, 40) #生成的随机数n: 13 ≤ n ≤ 20
print random.randint(10, 10) #结果永远是10
#print random.randint(30, 20) #该语句是错误的。下限必须小于上限
通过查看该函数的python源码可以了解到其具体的取值范围:
def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
因此其取值范围是包括上下限的。
3. 例子1:
利用 Python 随机产生1000个1~10000之间的整数,找出其中最大的5个三位数并输出。
要求: 1)利用列表存储产生的所有数。 2)将最大的5个三位数存储在一个元组中。
from random import randint
l=[randint(1,10000) for i in range(1000)] l_sorted=sorted([i for i in l if i<1000],reverse=True)
max5=(l_sorted[0],l_sorted[1],l_sorted[2],l_sorted[3],l_sorted[4])
print(max5)
运行结果:

4. 例子2:返回一组随机数并归一化
# 返回一个list,该list包含k个整数随机数,s为随机数的种子
def random_init_KDvector(k, s):
list = [] # 设置随机种子
random.seed(s)
for i in range(0, k):
tmp = random.randint(1, 10000)
list.append(tmp)
return list def normalize(list,sum=0):
if sum==0:
for i in range(0,len(list)):
sum+=list[i]
num=0
for i in range(0,len(list)-1):
list[i]=list[i]*1.0/sum
num +=list[i]
list[len(list)-1]=1-num
return list U = dict()
ls=random_init_KDvector(5,3)
print("ls为:",ls)
U[0]=normalize(ls)
print("U[0]为:",U[0]) #ls为: [3899, 9710, 8917, 2137, 6062]
#U[0]为: [0.12689991863303499, 0.3160292921074044, 0.29021969080553295, 0.06955248169243287, 0.1972986167615948]
Python 随机数 random的更多相关文章
- python随机数random
1.random.random()方法用于生成一个0到1的随机浮点数:0<=n<1.0 2.random.uniform(a,b):用于生成一个指定范围内的随机浮点数,两格参数中,其中一个 ...
- python随机数random模块
需要 import random x=random.random() 产生 0 到 1 之间的随机浮点数 结果 0.005570080000840916 x=random.randint(1 ...
- python使用random函数生成随机数
python使用random函数来生成随机数,常用的方法有: import random #生成0-1之间的数(不包括0和1) random.random() #生成1-5之间的随机整数(包括1和5) ...
- 【转载】python 模块 - random生成随机数模块
随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成的随机数字是完全相同的: random.seed(1) 这样random.randint(0,6, (4,5)) ...
- Python中random模块生成随机数详解
Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...
- python的random模块生成随机数
python的random函数 random.random() 生成0-1之间的随机数 random.uniform(a,b)生成a,b之间的浮点数 random.randint(a,b)生成a,b之 ...
- 【转】python之random模块分析(一)
[转]python之random模块分析(一) random是python产生伪随机数的模块,随机种子默认为系统时钟.下面分析模块中的方法: 1.random.randint(start,stop): ...
- python的random()函数
python 的random函数需要调用 #!/usr/bin/python # -*- coding: UTF-8 -*- import random print( random.randint(1 ...
- python的random模块(生成验证码)
python的random模块(生成验证码) random模块常用方法 random.random() #生成0到1之间的随机数,没有参数,float类型 random.randint(1, 3) # ...
随机推荐
- ping + 时间 日志
:top set PINGIP="192.168.1.236" echo %date% %time%>>%PINGIP%.txt ping -n 1 %PINGIP% ...
- 快速近似最近邻搜索库 FLANN - Fast Library for Approximate Nearest Neighbors
What is FLANN? FLANN is a library for performing fast approximate nearest neighbor searches in high ...
- 深入C++的new
new”是C++的一个关键字,同时也是操作符.关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结. new的过程 当我们使用关键字new在堆上动态 ...
- C++用iconv进行页面字符转换
在对HTML页面进行爬取时,总会遇到一些不同的编码,而我们通常都不会一一对这些编码进行处理,而是集体转换成相同的编码,也易于装入数据库.此时,iconv便成为一个很方便的工具. iconv 头文件&q ...
- python中的exec()、eval()以及complie()
参考博客:http://www.cnblogs.com/yyds/p/6276746.html 1.eval函数 函数的作用: 计算指定表达式的值.也就是说它要执行的python代码只能是单个表达式( ...
- Android图片与缩略
/** * 将图片文件原比例缩略.并使其不超过最大宽.高 * @param path : 图片文件 * @param requestW : 缩略后最大宽度 * @param requestH : 缩略 ...
- RHCSA和RHCE
RHCSA: 红帽考试流程: RHCE(上下午) 上午:RHCSA(红帽认证系统管理员)下午:RHCE (红帽认证系统工程师) 上午考试通过,下午未通过(RHCSA)上午考试未通过,下午考试通过(没有 ...
- Windows Server 2012 R2 或 2016 无法安装 .Net 3.5.1
Windows Server 2012 R2 或 2016 无法安装 .Net 3.5.1 问题描述 使用 Windows Server 2012 R2 或 Windows Server 2016系统 ...
- 上传的文件放在SVN服务器的哪个目录下
SVN服务器版本库有两种格式,一种为FSFS,一种为BDB 把文件上传到SVN版本库后,上传的文件不再以文件原来的格式存储,而是被svn以它自定义的格式压缩成版本库数据,存放在版本库中. 如果是FSF ...
- Oracle体系结构四(学习笔记)