韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > Python基础教程 > Python random模块及用法

Python random模块及用法

头像

silencement

2019-07-01 11:41:084463浏览 · 0收藏 · 0评论

random 模块主要包含生成伪随机数的各种功能变量和函数。

在 Python 的交互式解释器中先导入 random 模块,然后输入 random.__all__ 命令(__all__ 变量代表了该模块开放的公开接口),即可看到该模块所包含的全部属性和函数:

>>> random.__all__
['Random', 'seed', 'random', 'uniform', 'randint', 'choice', 'sample', 'randrange', 'shuffle', 'normalvariate', 
'lognormvariate', 'expovariate', 'vonmisesvariate', 'gammavariate', 'triangular', 'gauss', 'betavariate', 
'paretovariate', 'weibullvariate', 'getstate', 'setstate', 'getrandbits', 'choices', 'SystemRandom']

在 random 模块下提供了如下常用函数:

random.seed(a=None, version=2):指定种子来初始化伪随机数生成器。

random.randrange(start, stop[, stop]):返回从 start 开始到 stop 结束、步长为 step 的随机数。其实就相当于 choice(range(start, stop, step)) 的效果,只不过实际底层并不生成区间对象。

random.randint(a, b):生成一个范围为 a≤N≤b 的随机数。其等同于 randrange(a, b+1) 的效果。

random.choice(seq):从 seq 中随机抽取一个元素,如果 seq 为空,则引发 IndexError 异常。

random.choices(seq, weights=None, cum_weights=None, k=1):从 seq 序列中抽取 k 个元素,还可通过 weights 指定各元素被抽取的权重(代表被抽取的可能性高低)。

random.shuffle(x[, random]):对 x 序列执行洗牌“随机排列”操作。

random.sample(population, k):从 population 序列中随机抽取 k 个独立的元素。

random.random():生成一个从0.0(包含)到 1.0(不包含)之间的伪随机浮点数。

random.uniform(a, b):生成一个范围为 a≤N≤b 的随机数。

random.expovariate(lambd):生成呈指数分布的随机数。其中 lambd 参数(其实应该是 lambda,只是 lambda 是 Python 关键字,所以简写成 lambd)为 1 除以期望平均值。如果 lambd 是正值,则返回的随机数是从 0 到正无穷大;如果 lambd 为负值,则返回的随机数是从负无穷大到 0。

下面程序示范了 random 模块中常见函数的功能和用法:

import random
#生成范围为0.0≤x<1.0 的伪随机浮点数
print (random.random())
#生成范围为2.5≤x<10.0 的伪随机浮点数
print (random.uniform(2.5, 10.0))
#生成呈指数分布的伪随机浮点数
print (random.expovariate(1/5))
#生成从0 到9 的伪随机整数
print(random.randrange(10))
#生成从0 到100 的随机偶数
print (random.randrange(0, 101 , 2))
#随机抽取一个元素
print (random.choice (['Python','Swift','Kotlin']))
book_list = ['Python','Swift','Kotlin']
#对列表元素进行随机排列
random.shuffle (book_list)
print (book_list)
#随机抽取4 个独立的元素
print (random.sample([10, 20 , 30 , 40 , 50], k=4))

运行上面程序,可以看到如下输出结果:

0.7097266660597923
6.4845555071809535
9.707899380000603
2
70
Python
['Swift', 'Python', 'Kotlin']
[20, 10, 30, 50]

实际上,使用 random 模块中的随机函数可以做很多很有趣的事情。比如下面程序:

import random
import collections
#指定随机抽取6 个元素,各元素被抽取的权重(概率)不同
print(random.choices(['Python','Swift','Kotlin'], [5, 5, 1], k=6))
#下面模拟从52 张扑克牌中抽取20 张
#在被拍到的20 张牌中,牌面为10(包括J、Q、K的的牌占多大比例
#生成一个16个tens(代表10)和36 个low_cards(代表其他牌)的集合
deck= collections.Counter(tens=16, low_cards=36)
#从52 张牌中随机抽取20 张
seen= random.sample(list(deck.elements()), k=20)
#统计tens 元素有多少个,再除以20
print(seen.count('tens')/20)

运行上面程序,可以看到如下输出结果:

['Swift', 'Swift', 'Swift', 'Swift', 'Python', 'Swift']
0.45
关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

1984保罗和妈妈| 东北老阿姨高清免费观看电视剧| 潮湿的体温2| 美女| 欧美片《肉欲进入》| 19岁大学生少女免费观看电视剧| 亚州久久久久久精品A片69| 日日精进久久为功的下一句是 | 三亚私人高清影院品牌加盟电话 | 美国《性船》无刚减| 麻花传剧MV无痕免费观看姐弟| 《黏糊糊的你》免费观看| 《伦敦空姐美版2023》| 西游记| 《女仆教育》动漫第一季| 完美上司短剧免费完整版| 续父开续女包小芳的小说破| 《太太你想丈夫被开除吧》| 公翁晚上吃我奶头子| 免费观看已满十八岁电视剧在线播... | 90多岁老太太阴部下坠怎么办| 《不戴套瑜伽教练3》| 鸭子4| 《公与媳》伦理| 成品网站1688入门怎么样| 《金莲浮史》台湾绝版| 鲁鲁影院免费观看电视剧电影| 丁字裤阴唇肥大的地方叫什么| 《高压监狱3》法国版正版| 40分钟的插曲视频在线观看 | 三个轮换C1个侯门闺房HLH笔趣阁在线阅读免. | 男人吃奶摸捏奶头A片动漫| 《少妇精油按摩》无码| 日韩电影在线观看高清版电视剧 | 韩剧《喂奶2》的主要内容是什么| 《交换做爰》在线观看| 老师办公室狂肉校花小说| 美国禁忌| 《互换人妻HD中字》| 白天像教授晚上像野兽| 鲁鲁射击免费播放电视剧全部