问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-24 07:24

我来回答

2个回答

热心网友 时间:2022-04-06 01:45

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.275192443463058

2 从给定参数的均匀分布中获取随机数的函数
考虑从均匀分布中获取随机数的时候,要事先知道均匀分布的下界和上界,然后调用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.4462417140153114

3 按照指定概率生成随机数
有时候我们需要按照指定的概率生成随机数,比如已知盒子中每种颜色的球的比例,猜测下一次取出的球的颜色。在这里介绍的问题和上面的例子相似,要求给定一个概率列表,从列表对应的数字列表或区间列表中生成随机数,分两部分讨论。
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_proif 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)# 结果:1

3.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_proif 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

热心网友 时间:2022-04-06 03:03

random模块
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦到别人跳楼是不是要长高了? 我小孩四岁,他有五百度的斜弱视请问该怎样 朋友家孩子四岁七个月,检查医生说有弱视,伴有一点轻微斜视,如何治疗... 开机密码忘记了不想恢复出厂设置怎么办呢? 辽宁省十大特产 辽宁有哪些特产值得带 辽宁著名特产排行榜 我升级了快播4.0,但是怎么原来的片子都没了 安装快播提示"抽取,无法写入文件"的解决方法 临床医学学硕和专硕的就业区别 医学学硕和专硕哪一个更好考 宁海金海汇有什么项目 python中的随机数是怎么实现的 random函数怎么用? CAD这是什么意思 什么牌子的蚊香比较好用啊? 什么蚊香最有效果 什么牌子的蚊香好? 什么牌子的蚊香质量效果好 什么牌子的蚊香效果最好? 猪笼草靠什么捕食的? 猪笼草能捉虫子是为什么? 过猪笼草吗,说一下它捕食昆虫的过程是怎样的 猪笼草各种另辟蹊径的捕食方法 猪笼草为什么吃虫子? 为什么说猪笼草捕食昆虫是对土壤中缺少氮元素的一种适应? 猪笼草的内容:怎么吃虫子、长什么样、猪笼草的特点 为什么猪笼草会捕捉昆虫 猪笼草怎样捕捉猎物? 猪笼草为何会吃虫子 猪笼草捕食昆虫的工具是什么? 猪笼草是怎样捕捉虫子的? python随机函数怎么用 python用什么函数产生随机数 如何用Python求随机数中的最大值最小值? python 定义一个函数:能产生1-20之间指定的个数的随机数(随机数要求... python怎么随机产生一个范围内的数 python怎么随机取列表的值 python随机数模块怎么导入 python产生1到100的随机数是多少? 如何用python生成满足以下条件的随机数 python 随机数生成的代码的详细分析 Python程序设计小学四则运算测试机 (随机函数举例) 公积金贷款金额怎么算 彩色商标与黑白商标,在使用过程中,可以更改颜色吗 指定颜色的商标可改变颜色使用吗? 商标在使用过程中可以改变颜色吗 商标的颜色可以变更吗 已经注册好的商标在使用的时候可以改变颜色吗 注册商标时没指定颜色,现在可以随便改变颜色使用吗? 商标买来后,可以修改商标的图形颜色字体吗? 黑白商标变换颜色使用规定