文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python随机数模块详情

2024-04-02 19:55

关注

前言:

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

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])

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

等价于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)

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

到此这篇关于Python随机数模块详情的文章就介绍到这了,更多相关Python随机数模块内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯