python随机数函数random

Python中的random模块提供随机数生成功能。

Python中的随机函数random详解

创新互联成立与2013年,先为武宣等服务建站,武宣等地企业,进行企业商务咨询服务。为武宣企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

Python标准库提供了一个名为random的模块,用于生成伪随机数,伪随机数是指在一定范围内看似随机的数字序列,但实际上它们是由一个确定的初始值和一组算法计算得出的,在实际应用中,我们通常使用random模块生成随机数,例如在游戏、数据分析、密码学等领域,本文将详细介绍Python中的random模块,包括其基本功能、常用方法以及注意事项。

random模块的基本功能

1、生成随机整数

random模块提供了randint(a, b)和randrange(start, stop[, step])两个方法用于生成指定范围内的随机整数,a和b是不包含在随机数范围内的整数,start是随机数范围的起始值,stop是随机数范围的结束值(不包含),step是可选参数,表示随机数的步长。

示例代码:

import random
生成1到10之间的随机整数(不包含10)
print(random.randint(1, 10))
生成1到20之间的随机整数(不包含20)
print(random.randrange(1, 21))

2、生成随机浮点数

random模块提供了uniform(a, b)和random()两个方法用于生成指定范围内的随机浮点数,a和b是不包含在随机数范围内的浮点数,random()方法返回一个0到1之间的随机浮点数。

示例代码:

import random
生成1到10之间的随机浮点数(不包含10)
print(random.uniform(1, 10))
生成一个0到1之间的随机浮点数
print(random.random())

3、从序列中随机选择元素

random模块提供了choice(seq)方法用于从给定的序列中随机选择一个元素,seq可以是列表、元组、字符串等可迭代对象。

示例代码:

import random
my_list = [1, 2, 3, 4, 5]
print(random.choice(my_list))

4、打乱序列顺序

random模块提供了shuffle(x)方法用于将给定的序列x中的元素顺序打乱,x可以是列表、元组、字符串等可迭代对象,注意:shuffle方法会直接修改原序列。

示例代码:

import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list)

常用方法总结

除了上述基本功能外,random模块还提供了其他一些常用方法,如:

random.seed():设置随机数生成器的种子值,如果不设置种子值,每次运行程序时生成的随机数序列都可能不同,设置相同的种子值可以保证每次运行程序时生成的随机数序列相同。

random.sample(population, k):从给定的序列population中随机选择k个不重复的元素组成一个新的序列,population必须是可迭代对象,k为非负整数。

random.choices(population, weights=None, cum_weights=None):从给定的序列population中根据权重随机选择元素组成一个新的序列,population必须是可迭代对象,weights为每个元素对应的权重列表或元组,cum_weights为累积权重列表或元组,如果没有提供cum_weights参数,则默认所有元素的权重之和为1,如果提供了cum_weights参数,则可以使用该参数代替权重列表或元组来表示累积权重。

random.shuffle(x):将给定的序列x中的元素顺序打乱,x可以是列表、元组、字符串等可迭代对象,注意:shuffle方法会直接修改原序列。

random.uniform(a, b):生成一个指定范围内的随机浮点数(不包含a和b),a和b是不包含在随机数范围内的浮点数,与randint方法类似,但返回的是浮点数而不是整数。

random.randrange(start, stop[, step]):生成一个指定范围内的随机整数(不包含start和stop),start是随机数范围的起始值,stop是随机数范围的结束值(不包含),step是可选参数,表示随机数的步长,与randint方法类似,但返回的是整数而不是浮点数。

文章标题:python随机数函数random
本文地址:http://www.hantingmc.com/qtweb/news44/74544.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联