python random模块随机抽样专题

文章目录

  • 1. 设置随机数种子 seed()
  • 2. random() 与 randint()
  • 3. sample()方法 无放回抽样
  • 4. choice() 与 choices() 有放回抽样
  • 5. shuffle()方法
  • 6. 猜拳小案例

python的random库,提供了很多随机抽样方法。
             


1. 设置随机数种子 seed()

在适当的情形下,为例保证抽样的结果固定,不因多次运行而改变,可以设置随机数种子。
如果不设置则是以当前系统时间作为随机数种子。
设置随机数种子使用的是random.seed()方法。代码示例如下。

import random
random.seed(100)

在jupyternotebook中,seed的影响范围只限于每个代码格子内。


2. random() 与 randint()

random库的random()函数,作为该模块中其他随机方法的基础。
可以在区间 [0.0, 1.0) 内随机生成一个浮点数。

如果想要产生其他范围内的浮点数,则可以使用random.uniform(a,b)方法,
以产生[a,b]范围内一个随机浮点数。

具体示例如下:

random.random()

random库的randint()方法则可以在给定区间内随机生一个整数。(左右边界值都可以取)

random.randint(1,2)

输出效果如下图所示:
                   
此外,如果使用random.randrange(a,b,step)方法,则还可以在原有基础上,限制range的步长,再取整数。


3. sample()方法 无放回抽样

sample()方法可以从给定序列中随机抽取n个元素(无放回抽样。)
该方法语法如下:

random.sample(population,k)

random.seed(13)
listA = ["a", "b", "c"]
random.sample(listA,2)

                 


4. choice() 与 choices() 有放回抽样

choice() 与 choices()可以实现从给定的序列中进行有放回地随机抽样。
其中chioce()只抽一次,而choices() 表示抽取多次。
random.choices()方法的语法如下:

random.choices(population,weights=None,*,cum_weights=None,k=1)

import randomlistA = ["a", "b", "c"]
print(random.choice(listA))
print(random.choices(listA, k=2))

                 


5. shuffle()方法

shuffle()方法可以实现,对序列的随机排序,即打乱原有序列。

random.seed(13)
listA = ["a", "b", "c"]
random.shuffle(listA)
listA

                 


6. 猜拳小案例

看似简单朴实的案例,往往蕴含着许多值得参考和借鉴的细节。
以猜拳小游戏案例为例,要求是玩家对电脑,电脑随机出,玩家以输入的方式。

import random
while 1:s = int(random.randint(1, 3))if s == 1:ind = "石头"elif s == 2:ind = "剪子"elif s == 3:ind = "布"m = input('【猜拳游戏】输入 石头、剪子、布猜拳,输入"end"结束游戏:\n')blist = ["石头", "剪子", "布"]if (m not in blist) and (m != 'end'):print ("输入错误,请重新输入!")elif (m not in blist) and (m == 'end'):print ("\n游戏退出中...")print("已退出")breakelif m == ind :print ("电脑出了: " + ind + ",平局!")elif (m == '石头' and ind =='剪子') or (m == '剪子' and ind =='布') or (m == '布' and ind =='石头'):print ("电脑出了: " + ind +",你赢了!")elif (m == '石头' and ind =='布') or (m == '剪子' and ind =='石头') or (m == '布' and ind =='剪子'):print ("电脑出了: " + ind +",你输了!")

              


python random模块随机抽样专题相关推荐

  1. python数组随机打乱_对Python random模块打乱数组顺序的实例讲解

    在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample ...

  2. Python random 模块 - Python零基础入门教程

    目录 一.Python random 模块常用函数介绍 二.Python random 模块使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Pyt ...

  3. Python random模块常用方法的使用

    Python random模块常用方法的使用 Python 的random模块包含许多随机数生成器. random是Python标准库之一,直接导入即可使用.本文介绍random中常用方法的用法. 一 ...

  4. python数据模块下载顺序_对Python random模块打乱数组顺序的实例讲解

    在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample ...

  5. python随机生成一组数据_使用Python random模块生成随机数据实例

    在本节中,我们将学习如何使用random模块(random)在Python中生成随机数和数据.该模块为各种分布(包括整数,浮点数(实数))实现了伪随机数生成器. 本文的目标: 以下是我们将在本文中介绍 ...

  6. python random模块中的指令_10分钟让你掌握python编程中random模块功能使用,非常详细...

    原标题:10分钟让你掌握python编程中random模块功能使用,非常详细 python作为一门高级编程语言,它的定位是优雅.明确和简单.阅读Python编写的代码感觉像在阅读英语一样,这让使用者可 ...

  7. python random模块

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  8. python random模块导入_Python学习笔记(二十)—模块的导入

    一.模块介绍 Python 提供了强大的模块支持,主要体现在Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块.通过这些强大的模块可以极大地提 ...

  9. python random模块中的指令_python中random模块的使用

    这些方法位于random模块中 random.random(),同javascript的Math.random(),返回[0.0,1)之间的浮点数 random.uniform(a, b),返回[a, ...

  10. Python random模块sample、randint、shuffle、choice随机函数

    一.random模块简介 Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等. 二.random模块重要函数 1 ).ra ...

最新文章

  1. 一个不错的命令行解析类
  2. linux 安装 加入内核参数,Linux 实现自动安装服务组件以及优化内核参数
  3. mysql010函数使用.单行函数.多行函数
  4. 解决vue项目在ie浏览器中不显示的问题
  5. C#中集合接口关系笔记
  6. 解决报错 javax.persistence.TransactionRequiredException: Executing an update/delete query
  7. 从深圳到南阳-13天单骑3000里回家记
  8. python123系统基本信息获取_Python运维-获取当前操作系统的各种信息
  9. [bzoj1026] [SCOI2009]windy数
  10. sklearn中SVM的可视化
  11. MonkeyTest小结
  12. MCS-51单片机的外部引脚及片外总线
  13. 从软件保护到软件授权
  14. rpm mysql nokey_rpm包时遇到Header V3 DSA signature: NOKEY时解决办法
  15. [linux学习笔记] GCC环境安装问题
  16. Tkinter-疫苗信息管理系统
  17. vue + element 表格数据导出为excel表格
  18. Error:Cannot build artifact because it is included into a circuladependency
  19. vue3.0引入字体样式ttf文件
  20. 亚马逊、沃尔玛卖家自养号退款经验和测评技术

热门文章

  1. Nginx下载及安装详细步骤
  2. UNDERSTANDING JINJA - 理解Jinja使用语法
  3. 用html制作ps,ps制作图片的步骤
  4. LINE登录手机后怎样更换别个账号_2020年全国青少年禁毒知识竞赛在线答疑来了(附登录入口)...
  5. PPT处理控件Aspose.Slides功能演示:使用 Java 在 PowerPoint 中创建和操作表格
  6. 如何在Mac设置开机自启程序项,教程在这!
  7. oppo9s刷机教程_OPPOR9SPlus官方固件刷机教程_线刷|救砖教程图解
  8. 『解疑』vue修改html图标,tilte左边的图标(以图片格式作为图标)
  9. 使用阿里云国际版创建外贸网站,需要注意什么?-Unirech
  10. C语言 逻辑运算符及其优先次序(一)