Python使用random模块生成随机数操作实例详解
作者:ywx1832990 发布时间:2022-06-28 21:50:27
标签:Python,random模块,生成随机数
本文实例讲述了Python使用random模块生成随机数操作。分享给大家供大家参考,具体如下:
今天在用Python编写一个小程序时,要用到随机数,于是就在网上查了一下关于Python生成各种随机数的方法,现将其总结如下:
此处,利用Python中的random模块生成随机数。因此首先必须导入该模块:import random
一. 随机产生一个元素
import random
#生成一个0到1的随机浮点数: 0 <= n < 1.0
print(random.random())
>>> 0.8296185863491462
#生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。
#如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。
#函数原型为:random.uniform(a, b)
print(random.uniform(1, 10))
>>> 8.257312492950838
#生成一个指定范围内的整数。其中参数a是下限,参数b是上限,
#生成的随机数n: a <= n <= b,函数原型为:random.randint(a, b)
#注意:此处要求 a<=b
print(random.randint(1, 10))
>>> 3
#从指定范围内,按指定基数递增的集合中获取一个随机数
#函数原型为:random.randrange(start, stop, step)
#如产生一个0-10的随机数,其步长为2,即[0,2,4,6,8],然后在随机取出一个随机数
print(random.randrange(0, 10, 2))
>>> 2
#从序列中获取一个随机元素。 函数原型为:random.choice(sequence)
#注意:sequence在python不是一种特定的类型,而是泛指一系列的类型;
#注意:list, tuple, 字符串都属于sequence。
print(random.choice( ['apple', 'pear', 'peach', 'orange', 'lemon'] ))
print(random.choice( ('1', '2', '3', '4', '5') ))
print(random.choice( [1, 2, 3, 4, 5] ))
>>> orange
>>> 2
>>> 2
#用于将一个列表中的元素打乱。 函数原型为:random.shuffle(x[, random])
p = ["Python", "is", "powerful", "simple", "and so on..."]
random.shuffle(p)
print(p)
>>> ['Python', 'is', 'simple', 'powerful', 'and so on...']
#从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。
#如果k大于sequence元素个数的话会报错。 函数原型为:random.sample(sequence, k)
list = [1,2,3,4,5,6,7,8,9]
print(random.sample(list, 2))
print(random.sample(list, 5))
>>> [5, 3]
>>> [9, 5, 4, 7, 3]
二.产生一个随机数组
import numpy as np
#例如产生一个随机数组array
#方法一:
a = np.array([2,1,4,5,3,9,6,7,8,0])
print(a)
>>> array([2,1,4,5,3,9,6,7,8,0])
#产生一个(0,1)之间的10维的随机数组
#方法二;
b = np.random.rand(10)
print(b)
>>> array([ 0.43634533, 0.00256198, 0.9252553 , 0.46312913, 0.18253324,
0.70458872, 0.79719794, 0.18972441, 0.5304701 , 0.11495708])
#产生一个(0,1)之间的10维的随机数组
#方法三;
c = np.random.random(10)
print(c)
>>> array([ 0.62725822, 0.69752737, 0.67910128, 0.32876791, 0.05591991,
0.71435415, 0.62612756, 0.10492805, 0.45868039, 0.66527572])
#产生一个(0,1)之间的 3*4 的数组矩阵
#方法三;
d = np.random.random(size = (3,4))
print(d)
>>> array([[ 0.81287511, 0.07447028, 0.83052561, 0.69899251],
[ 0.30087294, 0.24102044, 0.2261788 , 0.7931203 ],
[ 0.10688122, 0.93165383, 0.02486699, 0.66883373]])
三.随机产生一个list或tuple
import random
#例如随机产生一个指定范围的整数list或tuple
#方法一:
a = [random.randint(0,5) for i in range(20)]
print(a)
#方法二;
for _ in range(10):
b = random.randint(0,5)
print(b)
结果为:
[5, 2, 0, 1, 3, 2, 4, 1, 2, 3, 5, 1, 1, 3, 1, 3, 1, 1, 3, 0]
4
2
1
1
3
0
5
4
4
5
PS:这里再提供几款相关工具供大家参考使用:
在线随机数生成工具:
http://tools.jb51.net/aideddesign/rnd_num
在线随机生成个人信息数据工具:
http://tools.jb51.net/aideddesign/rnd_userinfo
在线随机字符/随机密码生成工具:
http://tools.jb51.net/aideddesign/rnd_password
在线随机数字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/ywx1832990/article/details/78496804


猜你喜欢
- 不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解py
- 默认值可以很方便众所周知,在Python中如果访问字典中不存在的键,会引发KeyError异常(JavaScript中如果对象中不存在某个属
- 如何制作一个防止多次刷新计数的图片计数器?请问如何做一个专业的图片计数器? <%countlong
- 想要在准备查询混合数据库系统时将SQL Server转换为 XQuery 和进行反向转换吗?了解如何开发 Web 服务来从SQL Serve
- 一、urllib库是什么?urllib库用于操作网页 URL,并对网页的内容进行抓取处理urllib包 包含以下几个模块:urllib.re
- 通过status命令,查看Slow queries这一项,如果值长时间>0,说明有查询执行时间过长以下为引用的内容:mysql>
- 需求: 一台机器上有多个网卡, 如何访问指定的 URL 时使用指定的网卡发送数据呢?$ curl --interface eth0 www.
- 客户/服务器体系结构图形化的用户界面,使系统的管理更加直观和简单。丰富的编程接口,为用户进行应用程序设计提供了更大的选择余地。与Window
- 串口简述异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。
- 目录解决方案:1. IGNORE2. REPLACE3. ON DUPLICATE KEY UPDATE我们插入数据的时候,有可能碰到重复数
- 文字向下滾動,逐渐隐藏效果~ 挺好的 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT
- 关于mysql的读写分离架构有很多,百度的话几乎都是用mysql_proxy实现的。由于proxy是基于lua脚本语言实现的,所以网上不少网
- 但凡有些事情重复时,我就在想怎么可以用程序来自动化。这里想分享如何每天给女友定时微信发送”晚安“,如果只是晚安,就略显单调,于是爬取金山词霸
- view视图import reimport osimport mimetypesfrom wsgiref.util import FileW
- 前言三种场景:多个同字段的excel文件合并成一个excel多个不同字段的excel文件拼接成一个excel一个excel的多个sheet合
- 例子一:Python用WMI模块获取windowns系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位
- import介绍import语句作用就是用来导入模块的,它可以出现在程序中的任何位置。import语句语法使用import语句导入模块,im
- 前言Scrapy是一个开源的网络爬虫框架,Python编写的。最初设计用于网页抓取,也可以用来提取数据使用API或作为一个通用的网络爬虫。是
- 前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了
- 假设某宝为鼓励大家双12买买买,奖励双十一那天订单最多的两位用户:分别是用户1:“剁手皇帝陈哈哈” 和 用户2:“触手怪刘大莉” 一人一万元