博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python random模块
阅读量:5154 次
发布时间:2019-06-13

本文共 2720 字,大约阅读时间需要 9 分钟。

random 

1.简介 

random是用于生成随机数,我们可以利用它随机生成数字或者选择字符串 

>>> import random

>>> dir(random)

['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_acos', '_ceil', '_cos', '_e', '_exp', '_hashlib', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'division', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate'] 

2.常用函数 

random.random()用于生成一个随机浮点数:

random() -> x in the interval [0, 1). 

>>> import random

>>> random.random()

0.999410896951364

 

random.uniform(a,b)用于生成一个指定范围内的随机浮点数,a,b为上下限

  Get a random number in the range [a, b) or [a, b] depending on rounding.

只要a!=b,就会生成介于两者之间的一个浮点数,若a=b,则生成的浮点数就是a

>>> random.uniform(0,6.7)

6.641371899714727

>>> random.uniform(10,20)

17.29561748518131

>>> random.uniform(20,10)

19.798448766411184

>>> random.uniform(10,10)

10.0  

 

random.randint(a,b)

用于生成一个指定范围内的整数,a为下限,b为上限,生成的随机整数a<=n<=b;a=b,则n=a;若a>b,报错

    Return random integer in range [a, b], including both end points.

>>> random.randint(10,10)

10

>>> random.randint(10,20)

12

>>> random.randint(20,10)

 

Traceback (most recent call last):

  File "<pyshell#13>", line 1, in <module>

    random.randint(20,10)

  File "C:\Python27\lib\random.py", line 242, in randint

    return self.randrange(a, b+1)

  File "C:\Python27\lib\random.py", line 218, in randrange

    raise ValueError, "empty range for randrange() (%d,%d, %d)" % (istart, istop, width)

ValueError: empty range for randrange() (20,11, -9) 

 

 

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

从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1

  Choose a random item from range(start, stop[, step]).    

    This fixes the problem with randint() which includes the

    endpoint; in Python this is usually not what you want.

>>> random.randrange(10,100,5)

80  

 

random.choice(sequence)

从序列中获取一个随机元素,参数sequence表示一个有序类型,并不是一种特定类型,泛指list,tuple,字符串等

Choose a random element from a non-empty sequence.

>>> random.choice([1,3,8,9])

8

>>> random.choice([1,3,8,9])

9

>>> random.choice([1,3,8,9])

9

>>>  

 

random.shuffle(x[, random])

用于将一个列表中的元素打乱

>>> a = [1,2,3,4,5]

>>> random.shuffle(a)

>>> a

[4, 5, 2, 1, 3]

>>> random.shuffle(a)

>>> a

[3, 2, 5, 1, 4]

 

 

 

random.sample(sequence, k)

从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列

>>> a = [1,2,3,4,5]

>>> random.sample(a,3)

[1, 4, 5]

>>> random.sample(a,3)

[1, 2, 5]

>>> a

[1, 2, 3, 4, 5] 

转载于:https://www.cnblogs.com/godiness/p/4809318.html

你可能感兴趣的文章
MFC 双缓冲加载背景
查看>>
记录自己最近的学习状态
查看>>
hdu 1142 最短路+记忆化深搜---好题
查看>>
day 018 面向对象--约束和异常处理
查看>>
Day3_基本数据类型
查看>>
Fire Maze(广度优先搜索)
查看>>
Linux Kernel API
查看>>
oracle学习
查看>>
【C语言项目】贪吃蛇游戏(下)
查看>>
DevExpress第三方控件汉化的全部代码和使用方法
查看>>
二分查找算法(C#实现)
查看>>
vue项目中开启Eslint碰到的一些问题及其规范
查看>>
ES terms多值搜索及范围过滤深入剖析-搜索系统线上实战
查看>>
大咖专栏 | DevOps组织如何有效地实施MSA
查看>>
工厂模式
查看>>
忍不住了, 和大家聊聊怎么写简历吧, 关于简历的深度思考
查看>>
高并发编程
查看>>
(前端)html与css css 19、tab栏
查看>>
一起来学习.net core程序使用中介者模式:MediatR插件
查看>>
debian9 设置
查看>>