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的更多相关文章

  1. python随机数random

    1.random.random()方法用于生成一个0到1的随机浮点数:0<=n<1.0 2.random.uniform(a,b):用于生成一个指定范围内的随机浮点数,两格参数中,其中一个 ...

  2. python随机数random模块

    需要  import random x=random.random()    产生 0 到 1 之间的随机浮点数 结果  0.005570080000840916 x=random.randint(1 ...

  3. python使用random函数生成随机数

    python使用random函数来生成随机数,常用的方法有: import random #生成0-1之间的数(不包括0和1) random.random() #生成1-5之间的随机整数(包括1和5) ...

  4. 【转载】python 模块 - random生成随机数模块

    随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成的随机数字是完全相同的: random.seed(1) 这样random.randint(0,6, (4,5)) ...

  5. Python中random模块生成随机数详解

    Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...

  6. python的random模块生成随机数

    python的random函数 random.random() 生成0-1之间的随机数 random.uniform(a,b)生成a,b之间的浮点数 random.randint(a,b)生成a,b之 ...

  7. 【转】python之random模块分析(一)

    [转]python之random模块分析(一) random是python产生伪随机数的模块,随机种子默认为系统时钟.下面分析模块中的方法: 1.random.randint(start,stop): ...

  8. python的random()函数

    python 的random函数需要调用 #!/usr/bin/python # -*- coding: UTF-8 -*- import random print( random.randint(1 ...

  9. python的random模块(生成验证码)

    python的random模块(生成验证码) random模块常用方法 random.random() #生成0到1之间的随机数,没有参数,float类型 random.randint(1, 3) # ...

随机推荐

  1. 卡方检验(Chi-square test/Chi-Square Goodness-of-Fit Test)

    什么是卡方检验 卡方检验是一种用途很广的计数资料的假设检验方法.它属于非参数检验的范畴,主要是比较两个及两个以上样本率( 构成比)以及两个分类变量的关联性分析.其根本思想就是在于比较理论频数和实际频数 ...

  2. Python爬虫之selenium爬虫,模拟浏览器爬取天猫信息

    由于工作需要,需要提取到天猫400个指定商品页面中指定的信息,于是有了这个爬虫.这是一个使用 selenium 爬取天猫商品信息的爬虫,虽然功能单一,但是也算是 selenium 爬虫的基本用法了. ...

  3. 检测 USB 设备拨插的 C# 类库:USBClassLibrary

    这是采用C#开发的一个USB库,使您可以管理USB设备的连接和分离事件,探测自己的设备.可以运行在Windows XP和Windows7 64位系统下. 01 private void USBPort ...

  4. android 创建通知栏Notification

    ///// 第一步:获取NotificationManager NotificationManager nm = (NotificationManager) getSystemService(Cont ...

  5. Java--解压缩zip包

    Test.java import java.io.IOException; public class Test { public static void main(String[] args) thr ...

  6. Linux Shell处理文本最常用的工具大盘点

    导读 本文将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实 ...

  7. 在Hadoop上运行基于RMM中文分词算法的MapReduce程序

    原文:http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-count-on-hadoop/ 在Hadoop上运行基于RMM中文分词 ...

  8. Android 之数据传递小结

    Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,常用的的有五种传递方式.它们各有利弊,有各自的应用场景.下面分别介绍一下: 1. Intent对象传递简单数 ...

  9. Hibernate(十一)检索

    一.Hibernate检索策略 二.检索方法 三.get和load比较 get和load的区别:  get不支持延迟加载,而load支持.  当查询特定的数据库中不存在的数据时,get会返回null, ...

  10. SpingBoot:Unregistering JMX-exposed beans on shutdown

    运行之后控制台输出“Unregistering JMX-exposed beans on shutdown”原因为:SpringBoot内置Tomcat没有正常启动,加入spring-boot-sta ...