python随机数分布random均匀分布实例

yipeiwu_com7年前Python基础

因为概率问题,所以需要测试一下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 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例

本文实例讲述了Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作。分享给大家供大家参考,具体如下: 实例对象也可以实现闭包的功能,不过实例对象消耗的资源(内存)比闭包...

python实现美团订单推送到测试环境,提供便利操作示例

本文实例讲述了python实现美团订单推送到测试环境,提供便利操作。分享给大家供大家参考,具体如下: 背景: 有时候需要在测试环境下一个美团的订单,每次都找一堆的东西,太繁琐,于是写了...

Python利用PyExecJS库执行JS函数的案例分析

Python利用PyExecJS库执行JS函数的案例分析

  在Web渗透流程的暴力登录场景和爬虫抓取场景中,经常会遇到一些登录表单用DES之类的加密方式来加密参数,也就是说,你不搞定这些前端加密,你的编写的脚本是不可能...

简化Python的Django框架代码的一些示例

简化Python的Django框架代码的一些示例

尽管Django的流行和普及, 一些开发者仍然认为她是一个过时的web开发框架, 仅仅适合内容丰富的web程序。 然而现在大多数web程序往往不是富内容的, 这似乎让Django看起来不...

django解决跨域请求的问题

解决方案 1.安装django-cors-headers pip install django-cors-headers 2.配置settings.py文件 INSTA...