python随机数分布random测试


Posted in Python onAugust 27, 2018

因为概率问题,所以需要测试一下python的随机数分布。到底是平均(均匀)分布,还是正态(高斯)分布。

测试代码如下:

#! /usr/bin/env python
#coding=utf-8
 
 
# =================================
# Describe :   测试random随机数分布
# D&P Author By:       常成功
# Create Date:      2017/10/07
# Modify Date:      2017/10/20
# (C) 2012-2017 All rights reserved
# =================================
 
 
import random
import time
 
def test_rnd():
  st_tm = time.time()
  j = 0
  num = 0
  the_list = [1, 2, 3, 4]
  # 计数字典
  temp_dic = {1: 0, 2: 0, 3: 0, 4: 0}
  while 1:
    x = random.choice(the_list)
    temp_dic[x] += 1
    j += 1
    # 跑一千万次
    if j >= 10000000:
      break
  ed_tm = time.time()
  print "Test random.choice()---------------------------:"
  print "loop num: ", j
  print "take time: ", ed_tm-st_tm
  print "temp_dic :", temp_dic
 
  print "Test random.randint()---------------------------:"
  st_tm = time.time()
  j = 0
  num = 0
  # 计数字典
  temp_dic = {1: 0, 2: 0, 3: 0, 4: 0}
  while 1:
    x = random.randint(1, 4)
    temp_dic[x] += 1
    j += 1
    # 跑一千万次
    if j >= 10000000:
      break
  ed_tm = time.time()
  print "loop num: ", j
  print "take time: ", ed_tm-st_tm
  print "temp_dic :", temp_dic
 
 
if __name__ == '__main__':
  test_rnd()

测试结果:

Test random.choice()---------------------------:
loop num:  10000000
take time:  5.86599993706
temp_dic : {1: 2501333, 2: 2500117, 3: 2499406, 4: 2499144}
Test random.randint()---------------------------:
loop num:  10000000
take time:  12.493999958
temp_dic : {1: 2497732, 2: 2501411, 3: 2499372, 4: 2501485}

python随机数分布random测试

结果说明:平均(均匀)分布。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解python开发环境搭建
Dec 16 Python
基于numpy.random.randn()与rand()的区别详解
Apr 17 Python
python实现对任意大小图片均匀切割的示例
Dec 05 Python
python实现flappy bird小游戏
Dec 24 Python
利用anaconda作为python的依赖库管理方法
Aug 13 Python
python调用接口的4种方式代码实例
Nov 19 Python
django xadmin 管理器常用显示设置方式
Mar 11 Python
Python3交互式shell ipython3安装及使用详解
Jul 11 Python
在 Python 中使用 7zip 备份文件的操作
Dec 11 Python
python读写数据读写csv文件(pandas用法)
Dec 14 Python
发工资啦!教你用Python实现邮箱自动群发工资条
May 10 Python
Python基础教程,Python入门教程(超详细)
Jun 24 Python
pycharm安装和首次使用教程
Aug 27 #Python
Windows下PyCharm安装图文教程
Aug 27 #Python
python 3.7.0 安装配置方法图文教程
Aug 27 #Python
python 3.7.0 下pillow安装方法
Aug 27 #Python
python3.7.0的安装步骤
Aug 27 #Python
利用Django-environ如何区分不同环境
Aug 26 #Python
Django代码性能优化与Pycharm Profile使用详解
Aug 26 #Python
You might like
php中实现简单的ACL 完结篇
2011/09/07 PHP
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
PHP递归创建多级目录
2015/11/05 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
2017/02/17 PHP
javascript 处理事件绑定的一些兼容写法
2009/12/24 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
2017/09/06 NodeJs
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
生成无限制的微信小程序码的示例代码
2019/09/20 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
[02:45]DOTA2英雄敌法师基础教程
2013/11/25 DOTA
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python根据出生日期获得年龄的方法
2015/03/31 Python
python转换字符串为摩尔斯电码的方法
2015/07/06 Python
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
Python算术运算符实例详解
2017/05/31 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
python交互模式基础知识点学习
2020/06/18 Python
师德模范事迹材料
2014/06/03 职场文书
项目经理任命书内容
2014/06/06 职场文书
学生安全责任书模板
2014/07/25 职场文书
英文演讲稿开场白
2014/08/25 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
健康状况证明书
2014/11/26 职场文书
2016年母亲节广告语
2016/01/28 职场文书
高三化学教学反思
2016/02/22 职场文书