pyhton3 random模块
random是内建(built-in)函数,作用是产生随机数
导入模块:
- import random
接着就可以调用random模块下的函数了使用 dir(random)可以查看random模块下有哪些函数,结果如下:
- >>> dir(random)
- ['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_BuiltinMethodType', '_MethodType', '_Sequence
- ', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_acos', '_bisect
- ', '_ceil', '_cos', '_e', '_exp', '_inst', '_itertools', '_log', '_pi', '_random', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom'
- , '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate',
- 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvaria
- te']
最常用的函数有如下:
random.randint
- random.randint(1,10)
语句的含义是产生1至10(包含1与10)的一个随机数(整数int型)。(参数为整数不可为浮点数否则会报错)
- random.randint(20, 10) #该语句是错误的。下限必须小于或等于上限。
random.random
- random.random()
生成一个0到1之间的随机浮点数,包括0但不包括1,也就是[0.0, 1.0)。
random.uniform
- random.uniform(a, b)
生成a、b之间的随机浮点数。不过与randint不同的是,a、b可以不是整数,也不用考虑大小。
即
- random.uniform(3.65,10.56)#可以这样
- random.uniform(10.56, 3.65)#也可以这样
random.choice
- random.choice(seq)
从序列中随机选取一个元素。seq需要是一个序列,比如list、元组、字符串。
- random.choice([1, 2, 3, 5, 8, 13]) #list
- random.choice('hello') #字符串
- random.choice(['hello', 'world']) #字符串组成的list
- random.choice((1, 2, 3)) #元组
都是可行的用法。
random.randrange
- random.randrange(start, stop, step)
生成一个从start到stop(不包括stop),间隔为step的一个随机整数。start、stop、step都要为整数,且start<stop。
random.sample
- random.sample(p, k)
从p序列中,随机获取k个元素,生成一个新序列。sample不改变原来序列。
这个模块很 666,还支持三角、β分布、指数分布、伽马分布、高斯分布等等非常专业的随机算法。
random.shuffle
- random.shuffle(x)
把序列x中的元素顺序打乱。shuffle直接改变原有的序列。如:
- import random
- a=[1,2,3,4,5,6]
- random.shuffle(a)
- print(a)
结果如下:
- [5, 1, 3, 6, 4, 2]
新手在使用此函数时可能会出现一些错误,如下:
- import random
- a=[1,2,3,4,5,6]
- print(random.shuffle(a))
使用此方法会出现None结果,原因是random.shuffle() 是用来打乱列表元素的,没有返回值,所以不能用print(random.shuffle(a))来输出打印打乱
后的序列
pyhton3 random模块的更多相关文章
- getpass模块和random模块
getpass模块 用于对密码的隐藏输入案例: import getpass passwd = getpass.getpass("please input your password&quo ...
- Python中的random模块,来自于Capricorn的实验室
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- 随机内容生成(random模块)
摘抄于: 低调的python小子 当梦想照进现实 幸福近在咫尺 [jpg]http://ip.ipwind.cn/msn.png[/jpg] Python中的random模块用于生成随机数.下面介绍 ...
- Python中的random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python random模块 例子
最近用到随机数,就查询资料总结了一下Python random模块(获取随机数)常用方法和使用例子. 1.random.random random.random()用于生成一个0到1的随机符点数: ...
- python学习之random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- python-Day5-深入正则表达式--冒泡排序-时间复杂度 --常用模块学习:自定义模块--random模块:随机验证码--time & datetime模块
正则表达式 语法: mport re #导入模块名 p = re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0 ...
- python random模块 - 小驹的专栏 - 博客频道 - CSDN.NET
python random模块 - 小驹的专栏 - 博客频道 - CSDN.NET python random模块 分类: python 2011-11-15 15:31 6037人阅读 评论(2) ...
- 你真的用好了Python的random模块吗?
random模块 用于生成伪随机数 源码位置: Lib/random.py(看看就好,千万别随便修改) 真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结 ...
随机推荐
- NYOJ 诡异的电梯 && nyoj 1204 魔法少女
诡异的电梯[Ⅰ] 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 新的宿舍楼有 N(1≤N≤100000) 层 and M(1≤M≤100000)个学生. 在新的宿舍楼里 ...
- c++ about SLL(Static-Link Library) and DLL(Dynamic-Link Library)
First thing first, Wiki: http://en.wikipedia.org/wiki/Dynamic-link_library http://en.wikipedia.org/w ...
- doxygen可以生成C/C++代码的文档(根据注释)
类似这样的注释(目前还没用到,先写一个笔记在这,免得忘了) 就像java的注释生成html文档一样
- 使用MyBatis_Generator生成Dto、Dao、Mapping
由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易出错,所以查资料发现有现成的工具可以自动生成底层模型类.Dao接口类甚至Mappi ...
- java 读取world的图片 并把图片路径存入数据库
package World; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcep ...
- 我的第四个程序 java实现加减乘除
import java.util.Scanner; public class Test { public static void main(String [] args) { Scanner sc = ...
- c语言之linux下gettimeofday函数windows替换方案
* Copyright (C) 2008 mymtom (mymtom@hotmail.com) * All rights reserved. * * Redistribution and use i ...
- 关于c中volatile关键字
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了.精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存 ...
- poj 1041(欧拉回路+输出字典序最小路径)
题目链接:http://poj.org/problem?id=1041 思路:懒得写了,直接copy吧:对于一个图可以从一个顶点沿着边走下去,每个边只走一次,所有的边都经过后回到原点的路.一个无向图存 ...
- iOS 集成阿里百川最新版(3.1.1.96) 实现淘宝授权登录以及调用淘宝客户端商品详情页
公司最近要做第三方登录,由于是做导购项目,必不可少的有淘宝的授权登录.本来就是一个授权登录,没什么大不了的.但淘宝的无线开放业务——阿里百川更新的最新版本3.1.1.96,开发文档不是不详细,是很 ...