random模组是python内用来产生乱数的模组, 我们可以很容易呼叫内建函数模拟公平的骰子 (见: 【python内建模组- random】教你模拟掷骰子) 那如果今天想模拟一个不公平的骰子怎幺办...

random模组是python内用来产生乱数的模组,

我们可以很容易呼叫内建函数模拟公平的骰子

(见: 【python内建模组- random】教你模拟掷骰子)

那如果今天想模拟一个不公平的骰子怎幺办呢?

随便举例,

比如说我要随机从[0,1,2,3]里面取数字,

挑中每个数字的概率大概是150:50:15:3,

即0非常容易出现,而3很不容易出现

还好python的内建函数非常的齐全,

可以用内建函数解

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

我们要介绍的函数是random.choices,

参数意义: 回传从 population 中选取 k 个元素,

可以设定 weights 或是 cum_weights 来改变元素的权重,

例如: weights [150,50,15,3] 跟 cum_weights [150,200,215,218]是一样的,

此为重置抽样 (sampling with replacement),即有机率抽到相同的元素

範例

譬如说刚刚说要随机从[0,1,2,3]里面取数字,

挑中每个数字的概率大概是150:50:15:3,

就可以简单用下面的程式模拟,

这边为了测试,

我们使用Counter函数计数,

可以方便的统计每个数字出现的次数

import random

from collections import Counter

R = random.choices(range(4), weights= [150,50,15,3],k=10000)

print(Counter(R))

範例output:

Counter({0: 6853, 1: 2282, 2: 715, 3: 150})

python的random函数掷色子和为7的概率_python产生乱数技巧- 模拟不公平的骰子相关推荐

  1. python的random函数掷色子和为7的概率_案例(7):模拟掷骰子

    本章通过模拟掷骰子计算的5案例来进行学习基础的Python程序 案例描述 通过计算机程序模拟抛掷骰子,并显示各点数的出现次数及频率 比如:抛掷2个骰子50次,出现点数为7的次数是8,频率是0.16 模 ...

  2. python的random函数_关于random()的详细介绍

    这篇文章主要介绍了Python随机生成数模块random使用实例,本文直接给出示例代码,需要的朋友可以参考下代码如下:#!/usr/bin/env python#coding=utf-8import ...

  3. Python中random函数用法整理

    目录 1. random.random(): 返回随机生成的一个浮点数,范围在[0,1)之间 2. random.uniform(a, b): 返回随机生成的一个浮点数,范围在[a, b)之间 3.  ...

  4. python random_Python random() 函数

    描述 random() 方法返回随机生成的一个实数,它在[0,1)范围内. 语法 以下是 random() 方法的语法: importrandom random.random() 注意:random( ...

  5. python的random()函数用法_python中的随机函数random的用法示例

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

  6. python用random函数猜字母_Python小游戏——猜数字教程(random库教程)

    今天来开发一个简单的数字逻辑游戏,猜数字(数字炸弹) 首先开发游戏第一件事,了解需求. 猜数字游戏规则: 计算机随机生成一个指定范围的数字,由玩家来猜测, 之后计算机会根据玩家提供数字来与自己生成的数 ...

  7. python中random函数及用法

    1.python中的random函数 random() 方法返回随机生成的一个实数,它在[0,1)范围内 import random random.random()#randint函数,返回指定范围的 ...

  8. python中random函数用法_random函数的用法

    展开全部 用法: 1.随2113机生成(0,1)之间的浮点数 random.random() 2.随机生成100-200的整数5261 random.randint(100,200) 3.随机产生范围 ...

  9. python 使用random函数实现randint函数的功能

    # 使用random函数实现randint函数的功能,函数名:def my_randint(start, end)import randomdef my_randint(start, end):len ...

最新文章

  1. buuctf 你居然赶我走1
  2. 酱油和gbt酱油哪个好_酱油可不是越贵越好?看清瓶身上的5个字,教你1分钟买到好酱油...
  3. @requestparam @param @pathvariable @requestbody的区别
  4. Impala:大数据丛林中敏捷迅速的黑斑羚
  5. Anigram单词(51Nod-1095)
  6. Java多线程实现多客户端的通信
  7. HDU 4334 5-sum
  8. 两台计算机通过路由器连接网络,如何设置将两台计算机连接到Internet的路由器...
  9. 网络工程师HCIE-RS-layer2(原理+实验)
  10. 在玩图像分类和图像分割?来挑战基于 TensorFlow 的图像注解生成!
  11. 【银河麒麟V10】【桌面】安装虚拟pdf打印机
  12. (论文阅读笔记)Deep Learning based Recommender System: A Survey and New Perspectives
  13. Android开发中Html.fromHtml(String source)方法过时的替代方法
  14. (原创)CRC计算流程分析(RefIn,Init,RefOut,XorOut)
  15. anki服务端存储迁移
  16. 编译原理chatpter04 文法的形式和文法的类型
  17. 【唐老狮】C#——结构体和类的区别
  18. 关于支付宝境外版出现 错误代码 ILLEGAL_PARTNER
  19. 01.大数据介绍以及环境配置
  20. 武林外传-经典台词-郑昀整理版本

热门文章

  1. 网页|高级检索与专业检索
  2. html[Attributes Style]什么意思
  3. 中国传媒大学计算机联合学院,第七十九期CCF-CV走进高校系列报告会于中国传媒大学圆满结束...
  4. AOP的实现原理 —— 静态代理 和 动态代理( Spring AOP)
  5. CAS机制之ABA问题
  6. aba会导致问题_CAS的ABA问题有什么危害?
  7. unity3d显示小窗口
  8. getElementById不能获取Dom
  9. 【整理】Dword、LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR
  10. 怎样安装华为计算机,华为手机如何装电脑系统