python随机数函数(用python生成随机数的几种方法)

1.用python生成随机数的几种方法

1 从给定参数的正态分布中生成随机数 当考虑从正态分布中生成随机数时,应当首先知道正态分布的均值和方差(标准差),有了这些,就可以调用python中现有的模块和函数来生成随机数了。

这里调用了Numpy模块中的random.normal函数,由于逻辑非参简单,所有直接贴上代码如下:import numpy as np# 定义从正态分布中获取随机数的函数def get_normal_random_number(loc, scale): """ :param loc: 正态分布的均值 :param scale: 正态分布的标准差 :return:从正态分布中产生的随机数 """ # 正态分布中的随机数生成 number = np.random.normal(loc=loc, scale=scale) # 返回值 return number# 主模块if __name__ == "__main__": # 函数调用 n = get_normal_random_number(loc=2, scale=2) # 打印结果 print(n) # 结果:3.2751924434630582 从给定参数的均匀分布中获取随机数的函数 考虑从均匀分布中获取随机数的时候,要事先知道均匀分布的下界和上界,然后调用Numpy模块的random.uniform函数生成随机数。import numpy as np# 定义从均匀分布中获取随机数的函数def get_uniform_random_number(low, high): """ :param low: 均匀分布的下界 :param high: 均匀分布的上界 :return: 从均匀分布中产生的随机数 """ # 均匀分布的随机数生成 number = np.random.uniform(low, high) # 返回值 return number# 主模块if __name__ == "__main__": # 函数调用 n = get_uniform_random_number(low=2, high=4) # 打印结果 print(n) # 结果:2.44624171401531143 按照指定概率生成随机数 有时候我们需要按照指定的概率生成随机数,比如已知盒子中每种颜色的球的比例,猜测下一次取出的球的颜色。

在这里介绍的问题和上面的例子相似,要求给定一个概率列表,从列表对应的数字列表或区间列表中生成随机数,分两部分讨论。3.1 按照指定概率从数字列表中随机抽取数字 假设给定一个数字列表和一个与之对应的概率列表,两个列表对应位置的元素组成的元组即表示该数字在数字列表中以多大的概率出现,那么如何根据这些已知条件从数字列表中按概率抽取随机数呢?在这里我们考虑用均匀分布来模拟概率,代码如下:import numpy as npimport random# 定义从均匀分布中获取随机数的函数def get_uniform_random_number(low, high): """ :param low: 均匀分布的下界 :param high: 均匀分布的上界 :return: 从均匀分布中产生的随机数 """ # 均匀分布的随机数生成 number = np.random.uniform(low, high) # 返回值 return number# 定义从一个数字列表中以一定的概率取出对应区间中数字的函数def get_number_by_pro(number_list, pro_list): """ :param number_list:数字列表 :param pro_list:数字对应的概率列表 :return:按概率从数字列表中抽取的数字 """ # 用均匀分布中的样本值来模拟概率 x = random.uniform(0, 1) # 累积概率 cum_pro = 0.0 # 将可迭代对象打包成元组列表 for number, number_pro in zip(number_list, pro_list): cum_pro += number_pro if x < cum_pro: # 返回值 return number# 主模块if __name__ == "__main__": # 数字列表 num_list = [1, 2, 3, 4, 5] # 对应的概率列表 pr_list = [0.1, 0.3, 0.1, 0.4, 0.1] # 函数调用 n = get_number_by_pro(number_list=num_list, pro_list=pr_list) # 打印结果 print(n) # 结果:13.2 按照指定概率从区间列表中的某个区间内生成随机数 给定一个区间列表和一个与之对应的概率列表,两个列表相应位置的元素组成的元组即表示某数字出现在某区间内的概率是多少,已知这些,我们如何生成随机数呢?这里我们通过两次使用均匀分布达到目的,代码如下:import numpy as npimport random# 定义从均匀分布中获取随机数的函数def get_uniform_random_number(low, high): """ :param low: 均匀分布的下界 :param high: 均匀分布的上界 :return: 从均匀分布中产生的随机数 """ # 均匀分布的随机数生成 number = np.random.uniform(low, high) # 返回值 return number# 定义从一个数字列表中以一定的概率取出对应区间中数字的函数def get_number_by_pro(number_list, pro_list): """ :param number_list:数字列表 :param pro_list:数字对应的概率列表 :return:按概率从数字列表中抽取的数字 """ # 用均匀分布中的样本值来模拟概率 x = random.uniform(0, 1) # 累积概率 cum_pro = 0.0 # 将可迭代对象打包成元组列表 for number, number_pro in zip(number_list, pro_list): cum_pro += number_pro if x < cum_pro: # 从区间[number. number - 1]上随机抽取一个值 num = get_uniform_random_number(number, number - 1) # 返回值 return num# 主模块if __name__ == "__main__": # 数字列表 num_list = [1, 2, 3, 4, 5] # 对应的概率列表 pr_list = [0.1, 0.3, 0.1, 0.4, 0.1] # 函数调用 n = get_number_by_pro(number_list=num_list, pro_list=pr_list) # 打印结果 print(n) # 结果:3.49683787011193。

2.python用什么函数产生随机数

在python中用于生成随机数的模块是random,在使用前需要import

random.random:

random.random():生成一个0-1之间的随机浮点数.例:

[python] view plain copy

import random

print random.random()

# 0.87594424128

random.uniform

random.uniform(a, b):生成[a,b]之间的浮点数.例:

[python] view plain copy

import random

print random.uniform(0, 10)

# 5.27462570463

random.ranint

random.randint(a, b):生成[a,b]之间的整数.例:

[python] view plain copy

import random

print random.randint(0, 10)

# 8

random.randrange

random.randrange(a, b, step):在指定的集合[a,b)中,以step为基数随机取一个数.如random.randrange(0, 20, 2),相当于从[0,2,4,6,。,18]中随机取一个.例:

[python] view plain copy

import random

print random.randrange(0, 20, 2)

# 14

3.python中random.randint(1,100)随机数中包不包括1和100

random.randint(1,100)随机数中是包括1和100的。

python中对random.randint() 的源码解释如下

def randint(self, a, b):"Return random integer in range [a, b], including both end points."

翻译过来就是返回值是在 [a, b] 区间的随机数(integer类型),其中包括 a和 b。

扩展资料:

Python 是一个有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme, 或 Java.

Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。

参考资料:百度百科-Python

4.python3.6 secrets随机数函数怎么使用

Python生成随机数和随机数质量的方法,random.random()用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成随机数:<pre t="code" l="python">print random.uniform(10, 20)

print random.uniform(20, 10)

#----

#18.

#12.

random.randint用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,Python生成随机数<pre t="code" l="python">print random.randint(12, 20) #生成的随机数n: 12 <= n <= 20

print random.randint(20, 20) #结果永远是20

#print random.randint(20, 10) #该语句是错误的。random.randrange方法从指定范围内,按指定基数递增的集合中 ,下面对python生成随机数的应用程序的部分介绍:1.随机整数:

<pre t="code" l="python">>>> import random

>>> random.randint(0,99)

212.随机选取0到100间的偶数:

<pre t="code" l="python">>>> import random

>>> random.randrange(0, 101, 2)

423.随机浮点数:

<pre t="code" l="python">>>> import random

>>> random.random()

0.

>>> random.uniform(1, 10)

5..随机字符:

<pre t="code" l="python">>>> import random

>>> random.choice('abcdefg%^*f')

'd'5.多个字符中选取特定数量的字符:

<pre t="code" l="python">>>> import random

random.sample('abcdefghij',3)

['a', 'd', 'b']6.多个字符中选取特定数量的字符组成新字符串:

<pre t="code" l="python">>>> import random

>>> import string

>>> string.join(random.sample(['a','b','c','d','e','f','g','h','i','j'], 3)).r

eplace(" ","")

'fih'

5.numpy库中几个随机函数的用法

numpy.random.seed(), numpy.random.RandomState() * 使每次随机生成数一样

numpy.random.rand() * 以给定的形状创建一个数组,并在数组中加入在 [0 , 1]区间均匀分布的随机样本

numpy.random.randn() * 以给定的形状创建一个数组,数组元素符合标准正态分布N(0,1)

numpy.random.randint() * 生成在给定区间内离散均匀分布的整数值

6.python 怎么从集合中随机数

使用random()函数,或者:

choice(seq) 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。

randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1

random() 随机生成下一个实数,它在[0,1)范围内。

seed([x]) 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。

shuffle(lst) 将序列的所有元素随机排序

uniform(x, y) 随机生成下一个实数,它在[x,y]范围内。

7.python 不用random模块怎么随机取数

Python标准库random模块 (生成随机数模块) random.random() random.random()用于生成一个0到1的随机符点数: 0 random.uniform(a, b) random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数。

如果a > b,则生成的随机数n: b 则 a [python] view plaincopy print random.uniform(10, 20) print random.uniform(20, 10) #---- 结果(不同机器上的结果不一样) #18.7356606526 #12.5798298022 random.randint(a, b) random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a Note:a = [random.randint(0, 100) for __ in range(100)] #生成100个指定范围内的整数 [python] view plaincopy print random.randint(12, 20) #生成的随机数n: 12 print random.randint(20, 20) #结果永远是20 #print random.randint(20, 10) #该语句是错误的。

下限必须小于上限。 random.randrange([start], stop[, step]) random.randrange的函数原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。

如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, 。 96, 98]序列中获取一个随机数。

random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。random.choice(sequence) random.choice从序列中获取一个随机元素。

其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。

这里要说明 一下:sequence在Python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。

有关sequence可以查看python手册数据模型这一章,也可以参考: 。下面是使用choice的一些例子:[python] view plaincopy print random.choice("学习Python") print random.choice(["JGood", "is", "a", "handsome", "boy"]) print random.choice(("Tuple", "List", "Dict")) random.shuffle(x[, random]) random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。

如:[python] view plaincopy p = ["Python", "is", "powerful", "simple", "and so on。"] random.shuffle(p) print p #---- 结果(不同机器上的结果可能不一样。)

#['powerful', 'simple', 'is', 'Python', 'and so on。'] random.sample(sequence, k) random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。

sample函数不会修改原有序列。[python] view plaincopy list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] slice = random.sample(list, 5) #从list中随机获取5个元素,作为一个片断返回 print slice Note:上面这些方法是random模块中最常用的,在Python手册中,还介绍其他的方法。

python随机数函数

转载请注明出处代码入门网 » python随机数函数(用python生成随机数的几种方法)

资讯

python多元线性拟合(python多元线性回归怎么计算)

阅读(21)

本文主要为您介绍python多元线性拟合,内容包括python多元线性回归怎么计算,python多元线性回归怎么计算,pythonlstsq可以用于计算多元线性回归吗。用numpy.linalog.lstsq(如果是最小方差的话是这个,其余的也在包里找就好了)用其它C的线性计算

资讯

pythonxef(Python里的flag)

阅读(13)

本文主要为您介绍pythonxef,内容包括pythondef是什么意思,Python里的flag,python里defdrawGap是什么意思。

资讯

pythondll结构体(c结构体怎么用python写)

阅读(16)

本文主要为您介绍pythondll结构体,内容包括c结构体怎么用python写,python怎么构造一个结构体,python怎么导入ctypes。C封装了一个Dll,名为SpjMatlabTest.dll,暴露实现: typedef struct{ double *Min; dou

资讯

python项目实例pdf(Python编程的19个资源有哪些)

阅读(15)

本文主要为您介绍python项目实例pdf,内容包括Python编程的19个资源,请大侠给推荐几个python搞的开源的项目的例子,python下面有什么生成pdf文件的库。国内的话,知乎,网易,腾讯,搜狐,金山,豆瓣这些属于用Python比较知名的。大型的项目的话,网易的许

资讯

python未知数(python的不等号是什么)

阅读(16)

本文主要为您介绍python未知数,内容包括请问python怎么用变量表示未知数之间的关系,请问python怎么用变量表示未知数之间的关系,python的不等号是什么。python的不等号如下:!= 不等于 - 比较两个对象是否不相等。

资讯

python循环dict(如何在python中实现循环指定次数)

阅读(14)

本文主要为您介绍python循环dict,内容包括python中字典里的循环,python循环放入字典和class列表展示如何理解,python怎么循环多个字典。python中实现循环指定次数:count=0for item in list:print itemcount +=1 if count

资讯

python解二元方程(如何用python编程求解二元一次方程组)

阅读(12)

本文主要为您介绍python解二元方程,内容包括如何用python编程求解二元一次方程组如x+y=3;xy=1,怎么用python解一元二次方程,怎么用python解一元二次方程。利用 numpy 很简单。可以利用pip安装pip install numpy然后(以你的方程为例),python 下

资讯

python成绩录入(用python编写的一个学生成绩管理系统)

阅读(16)

本文主要为您介绍python成绩录入,内容包括用python编写的一个学生成绩管理系统,利用Python做一个学生成绩管理系统,如何用python编写一个成绩录入查询删除功能的系统急求。# -*- coding: cp936 -*- class StuInfo: def __init__(self): sel

资讯

python线程数量控制(python多线程与多进程问题)

阅读(11)

本文主要为您介绍python线程数量控制,内容包括python3.5怎样控制线程的数量,python3.5怎样控制线程的数量,如何控制和关闭python线程。监控一个信号就起一个线程与进程处理。这样的逻辑是不太合适的。所有的资源都是有限的,如果这样浪费很快

资讯

python多元线性拟合(python多元线性回归怎么计算)

阅读(21)

本文主要为您介绍python多元线性拟合,内容包括python多元线性回归怎么计算,python多元线性回归怎么计算,pythonlstsq可以用于计算多元线性回归吗。用numpy.linalog.lstsq(如果是最小方差的话是这个,其余的也在包里找就好了)用其它C的线性计算

资讯

pythonxef(Python里的flag)

阅读(13)

本文主要为您介绍pythonxef,内容包括pythondef是什么意思,Python里的flag,python里defdrawGap是什么意思。

资讯

pythondll结构体(c结构体怎么用python写)

阅读(16)

本文主要为您介绍pythondll结构体,内容包括c结构体怎么用python写,python怎么构造一个结构体,python怎么导入ctypes。C封装了一个Dll,名为SpjMatlabTest.dll,暴露实现: typedef struct{ double *Min; dou

资讯

python项目实例pdf(Python编程的19个资源有哪些)

阅读(15)

本文主要为您介绍python项目实例pdf,内容包括Python编程的19个资源,请大侠给推荐几个python搞的开源的项目的例子,python下面有什么生成pdf文件的库。国内的话,知乎,网易,腾讯,搜狐,金山,豆瓣这些属于用Python比较知名的。大型的项目的话,网易的许

资讯

python小项目练手(推荐几个适合新手练手的Python项目)

阅读(16)

本文主要为您介绍python小项目练手,内容包括推荐几个适合新手练手的Python项目,python哪些练手的小程序,Python的练手项目值得推荐。实例一:满分推荐,非常值得练习GitHub - Yixiaohan/show-me-the-code: Python 练习册,每天一个小

资讯

python3.4爬虫入门(如何入门Python爬虫)

阅读(1)

本文主要为您介绍python3.4爬虫入门,内容包括如何入门Python爬虫,python爬虫入门需要哪些基础,python爬虫自学要多久。可以先从简单的开始,在熟悉了Python语法后,学习用 urllib 和 urllib2 爬虫,使用 BeautifulSoup 分析结

资讯

python判定整数(怎样用python判断整数)

阅读(2)

本文主要为您介绍python判定整数,内容包括python怎么判断一个数是整数,python判断一个数是不是整数,python判断一个数是不是整数。import typesif type(var) in [types.IntType,types.LongType]: bodyelse

资讯

python画仪表(如何使用Python在屏幕上作画)

阅读(2)

本文主要为您介绍python画仪表,内容包括如何用python绘制各种图形,如何用Python绘制Circos图,如何使用Python在屏幕上作画。from turtle import *def curvemove():for i in range(200):right(1)forw

资讯

python写入文件编码格式(python2.7.4怎么指定格式编码的文本)

阅读(1)

本文主要为您介绍python写入文件编码格式,内容包括python写文件怎么写gbk编码的文件,python2.7.4怎么指定格式编码的文本,python2.7.4怎么指定格式编码的文本。要写入的数据本身就是byte串(u中文是中文字符串,中文是byte串),用二进制方式打开就

资讯

python小数点保留1位(如何在Python中保留小数)

阅读(2)

本文主要为您介绍python小数点保留1位,内容包括如何在Python中保留小数,Python中小数点的问题,怎么放弃后面位数,只保留前面两位搜狗,python中保留几位小数进行四舍五入的round函数自身的源代码是什么。f = lambda x, n: round(x, n - len(