伪随机数:采用梅森旋转算法生成的伪随机序列中元素

使用random库

一、基本随机函数

随机数需要一个种子,依据这个种子通过梅森旋转算法产生固定序列的随机数。
seed(a=None)  初始化给定的随机数种子,默认为当前系统时间

random()   生成一个[0.0,1.0)之间的随机小数

>>> import random
>>> random.seed()
>>> random.random()
0.6229016948897019
>>> random.random()
0.7417869892607294
>>> random.seed()
>>> random.random()
0.6229016948897019

使用seed主要是在某些系统各种,根据这个随机种子,可以复现问题,如果不使用种子,则默认为当前系统的精度很大的时间,这个无法再重现。

二、扩展随机函数

randint(a,b)             生成一个[a,b]之间的整数

randrange(m,n[,k])  生成一个[m,n)之间以k为步长的随机整数

getrandbits(k)         生成一个k比特长的随机整数

uniform(a,b)           生成一个[a,b]之间的随机小数

choice(seq)            从序列seq中随机选择一个元素

shuffle(seq)           将序列seq中元素随机排列,返回打乱后的序列

>>> random.randint(,)

>>> random.randrange(,,)

>>> random.uniform(,)
69.04468457583359
>>> random.getrandbits() >>> random.choice([,,,,,,]) >>> s=[,,,,,,]
>>> random.shuffle(s)
>>> s
[, , , , , , ]

三、圆周率计算问题

圆周率的计算,除了使用一个复杂的数学公式外,还可以通过计算机来模拟最初圆周率的计算方法蒙特卡罗方法。蒙特卡罗方法是指随机的在这个圆所在的正方形中撒粒子,然后计算圆中粒子的个数,依次来计算圆的面积,或者圆周率。那么现在计算机这个聪明,我们就可以通过计算机来模拟随机粒子,来计算圆周率。代码如下:

#getPi.py
from random import random
from time import perf_counter
DARTS = *
hits=0.0
start=perf_counter()
for i in range(,DARTS):
x, y = random(),random()
dist = pow(x** + y**, 0.5)
if dist <= 1.0:
hits +=
pi = *(hits/DARTS)
print("圆周率是:{}".format(pi))
print("运行时间为:{:.5f}s".format(perf_counter() - start))

python学习笔记(8)--random库的使用的更多相关文章

  1. 【Python学习笔记】Pandas库之DataFrame

    1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...

  2. Python学习笔记之——requests库

    requests库一个优雅而简单的用于Python的HTTP库,可以极大的简化我们发送http请求及获取响应的代码. requests是python的第三方库,所以使用之前需要先安装. 1.安装之后就 ...

  3. python学习笔记(自定义库文件路径)

    博主最近在弄接口自动化.主要是基于python自带的unittest框架.包括 Pubilc模块定义所有接口. Main模块根据业务需求重新封装接口便于测试. config文件导入测试业务的固定参数. ...

  4. Python 学习笔记之—— PIL 库

    PIL,全称 Python Imaging Library,是 Python 平台一个功能非常强大而且简单易用的图像处理库.但是,由于 PIL 仅支持到Python 2.7,加上年久失修,于是一群志愿 ...

  5. 吴裕雄--天生自然python学习笔记:beautifulsoup库的使用

    Beautiful Soup 库简介 Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能.它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简 ...

  6. Python 学习笔记之random 模块

    要使用Random 模块里的一些随机数方法需要先导入random 模块. 下面是几种常用的随机数方法: 以生成随机8位密码,包括大小写字母,数字为例 pwd = ''.join(random.samp ...

  7. Python 学习笔记之 Numpy 库——数组基础

    1. 初识数组 import numpy as np a = np.arange(15) a = a.reshape(3, 5) print(a.ndim, a.shape, a.dtype, a.s ...

  8. python学习笔记(5)-time库的使用

    import time 一.时间获取函数 time(), ctime(),gmtime() >>> import time >>> time.time() 1524 ...

  9. Python 学习笔记之 Numpy 库——文件操作

    1. 读写 txt 文件 a = list(range(0, 100)) a = np.array(a) # a.dtype = np.int64 np.savetxt("filename. ...

  10. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

随机推荐

  1. CSAPP:信息的表和处理1

    CSAPP:信息的表和处理1 关键点:寻址.内存.磁盘.虚拟地址.物理地址.整型数组. 信息存储中的几个概念整型数据类型无符号数有符号数几个概念有符号数与无符号数之间转换基于栈与基于寄存器的区别 信息 ...

  2. 移动端h5页面编写样式重置

    @charset "UTF-8"; /* stylelint-enable */ /* 重置样式 */ * { -webkit-tap-highlight-color: trans ...

  3. face detection[CNN casade]

    本文是基于< A convolutional neural network cascade for face detection>的解读,所以时间线是2015年. 0 引言 人脸检测是CV ...

  4. UOJ236 IOI2016 Railroad 差分、欧拉回路、最小生成树

    传送门 将"进入路段时速度\(\leq s_i\)"转换为:"进入路段时速度恰好等于\(s_i\),并且铺设铁轨有加速和减速两种,加速无需代价,减速每\(1 km/h\) ...

  5. FineUIMvc随笔(3)不能忘却的回发(__doPostBack)

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 用户反馈 有网友在官方论坛抛出了这么一个问题,似乎对 FineUIMvc 中的浏览器端与服务器端的交互方式很有异议. 这里面的关 ...

  6. python中join()函数的使用方法

    函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下:    join():    连接字符串数组.将字符串.元组.列表中的元素以指定的字 ...

  7. Python从菜鸟到高手(8):print函数、赋值与代码块

    1.神奇的print函数   print函数相信读者一定对它不陌生,因为在前面的章节,几乎每个例子都使用了print函数,这个函数的功能就是在控制台输出文本.不过print在输出文本时还可以进行一些设 ...

  8. Bing.com在.NET Core 2.1上运行!

    Bing.com在.NET Core 2.1上运行! 相关知识请参考.netCore开发团队博客(https://blogs.msdn.microsoft.com/dotnet/) Bing.com是 ...

  9. RuntimeError: Model class apps.users.models.User doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

    报错代码: File "/home/bsodgm/Desktop/Django_projection/mall/apps/users/views.py", line 9, in & ...

  10. python代码风格指南:pep8 中文版

    本文档所提供的编码规范,适用于主要的Python发行版中组成标准库的Python代码.请参阅PEP关于Python的C实现的C编码风格指南的描述. 本文档和PEP257(文档字符串规范)改编自Guid ...