Python随机数模块详情

作者:一碗周 时间:2021-10-26 06:47:34 

前言:

随机数模块实现了各种分布的伪随机数生成器。对于整数,从范围中有统一的选择。 对于序列,存在随机元素的统一选择、用于生成列表的随机排列的函数、以及用于随机抽样而无需替换的函数。

1、生成随机数

1.1 random.random() 方法

返回随机生成的一个实数,它在[0,1)范围内。

语法结构:


import random  # 导入 random 模块

random.random()

1.2 random.randint方法

语法格式:

random.randint(a,b)

函数返回数字 N N a b 之间的数字(a <= N <= b),包含 a b

1.3 random.uniform方法

语法格式:

random.uniform(a,b)

函数返回一个随机浮点数 N ,当 a <= b a <= N <= b ,当 b < a b <= N <= a

1.4 random.randrange方法

语法结构:

random.randrange(start, stop[, step])

  • start: 计数从 start 开始。默认是从 0 开始。例如randrange(5)等价于range(0, 5);

  • stop: 计数到 stop 结束,但不包括 stop。例如:randrange(0, 5)[0, 1, 2, 3, 4]没有5

  • step:步长,默认为1。例如:range(0, 5) 等价于 randrange(0, 5, 1)
       

返回一个随机范围内的数字

等价于choice(range(start, stop, step))

示例代码:


import random

random_value = random.random()
print(random_value)

randint_value = random.randint(1, 3)  # 返回随机整数
print(randint_value)

uniform_value = random.uniform(1, 3)  # 返回随机浮点数
print(uniform_value)

randrange_value = random.randrange(1, 100, 2)  # 1到100步长为2(这里只能取到100以为的奇数)
print(randrange_value)

每次运行取到的结果都是不一样的。

2、用于序列的函数

2.1 random.choice(seq)

从非空序列中返回一个随机元素,如果序列为空,则抛出异常

示例代码:


import random

value = random.choice(range(1, 100, 2))
# 这个等于random.randrange(1, 100, 2)
print(value)

好像洗牌就要用这个方法哎

生成一个验证码的小案例:


import random

# 一个生成验证号的小案例
all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
captcha = ''
for _ in range(4):
   a = random.choice(all_chars)
   captcha += a  # 连接字符串
print(captcha)



2.2 random.shuffle()方法


shuffle(list) 方法将序列的所有元素随机排序


示例代码:




import random
list1 = ["beautiful" , "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely']
random.shuffle(list1)

print(list1)

2.3 random.sample()方法

random.sample(sequence, k) ,从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。切片长度不能超过原有的长度,否则会抛出异常

示例代码:


import random
list1 = ["beautiful", "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely']
list2 = random.sample(list1, len(list1))
print("原列表:", list1)
print("新列表:", list2)

这个方法可以给原序列排序并不破坏原有序列

来源:https://juejin.cn/post/7024054686206410783

标签:Python,随机数,模块
0
投稿

猜你喜欢

  • js小方框中浏览大图类似google earth效果

    2007-10-28 19:30:00
  • python中的元组与列表及元组的更改

    2023-10-19 07:28:04
  • 对pandas replace函数的使用方法小结

    2022-07-04 15:20:24
  • ASP 三层架构 Convert类实现代码

    2011-03-16 11:01:00
  • Go的固定时长定时器和周期性时长定时器

    2023-06-27 12:44:23
  • numpy中的meshgrid函数的使用

    2021-10-07 06:11:39
  • 详解Python的Django框架中的模版相关知识

    2023-04-22 02:46:25
  • python flappy bird小游戏分步实现流程

    2023-10-09 10:45:41
  • python 基于TCP协议的套接字编程详解

    2023-09-11 21:09:30
  • php中关于普通表单多文件上传的处理方法

    2023-11-14 20:21:21
  • 合理的网页设计具有哪些特征

    2007-10-09 13:24:00
  • numpy使用fromstring创建矩阵的实例

    2022-02-23 09:29:49
  • python 爬取小说并下载的示例

    2023-08-24 19:31:49
  • Python中Iterator迭代器的使用杂谈

    2023-11-23 03:49:30
  • SQL Server 2005 五个动态管理对象

    2008-12-18 14:50:00
  • 清除浮动新说

    2009-12-25 18:49:00
  • Pandas实现批量拆分与合并Excel的示例代码

    2022-06-07 22:36:28
  • 解决python web项目意外关闭,但占用端口的问题

    2023-02-11 19:18:53
  • 挑战! 纯Javascript 重现经典网游! <魔力宝贝>

    2008-10-04 10:37:00
  • 如何使用ASP实现网站的“目录树”管理

    2008-06-13 06:39:00
  • asp之家 网络编程 m.aspxhome.com