惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - hgdfr

Django1.5内置的用户认证系统介绍(之五)在admin后台管理用户 --by hillfree Django1.5内置的用户认证系统介绍(之四)Authentication in Web requests --by hillfree Django1.5内置的用户认证系统介绍(之三)权限与授权--by hillfree Django1.5内置的用户认证系统介绍(之二)使用User对象--by hillfree Django1.5内置的用户认证系统介绍(之一)--by hillfree Django REST Framework Tutorial 5:关系与超链接API(中文版教程)by hillfree Django REST Framework Tutorial 4:认证与权限(中文版教程)by hillfree Django REST Framework Tutorial 3:基于类的Views(中文版教程)by hillfree Django1.5+Python3.3下groundwork的使用 Django1.5中设置静态目录的简要说明 参照《鲜活的数据:数据可视化指南》第2章:抓取网页数据(历史天气记录)的Python程序 - hgdfr 《鲜活的数据:数据可视化指南》第2章 收集数据 Python3.3源码 CSCW领域的“老”词和“新”词 FOAF简介和朋友圈子 Class Library类型的工程难道不能用app.config? 配置文件中的DataDirectory在那里设置? 自己写的类需要重写ToString(), HashCode(), Equal()吗? 注释中如果出现尖括号怎么办?“<” - hgdfr - 博客园 Access Control Issues 有关访问控制
Python3.3中如何产生伪随机数
hgdfr · 2013-03-18 · via 博客园 - hgdfr

python3.3的random模块实现各种分布下的伪随机数生成。

对整数而言,可以在一个范围内按均匀分布来随机选择。对序列来说,同样可以按照均匀分布来选择一个元素,可以对数组产生随机排列,也可以进行随机的不重复采样。

对随机实数而言,提供均匀,正态(高斯),对数正态,负指数,γ和β等多种分布。甚至角分布和冯·米塞斯分布(循环正态分布),简要示例如下:

 1 # coding=utf-8
 2 __author__ = 'hillfree'
 3 
 4 import random
 5 
 6 
 7 def testRand():
 8 
 9     # 在[a, b]之间产生随机整数 random.randint(a, b)
10     for i in range(5):
11         ret = random.randint(100, 999)
12         print("random.randint(100, 999) = {0}".format(ret,))
13 
14     # 在[a, b]之间产生随机浮点数 random.uniform(a, b)
15     for i in range(5):
16         ret = random.uniform(1.0, 100.0)
17         print("random.uniform(1.0, 100.0) = {0}".format(ret,))
18 
19     # 在[0.0, 1.0)之间产生随机浮点数 random.random()
20     for i in range(5):
21         ret = random.random()
22         print("random.random() = {0}".format(ret,))
23 
24     # 在样本population中随机选择k个 random.sample(population, k)
25     population = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" }
26     for i in range(5):
27         ret = random.sample(population, 3)
28         print("random.sample(population, 3) = {0}".format(ret,))
29 
30     # 在序列seq中随机选择1个 random.choice(seq)
31     seq = ("to", "be", "or", "not", 'tobe', 'is', 'a', 'question')
32     for i in range(5):
33         ret = random.choice(seq)
34         print("random.choice(seq) = {0}".format(ret,))
35 
36     # 从序列中随机获取指定长度的片断。不修改原有序列。
37     # random.sample(sequence, k)
38     sentence = "to be or not to be is a question"
39     for i in range(5):
40         ret = random.sample(sentence, 5)
41         print("random.sample(sentence, 5) = {0}".format(ret,))
42 
43     # 三角分布的随机数 random.triangular(low, high, mode)
44     for i in range(5):
45         ret = random.triangular(0, 100, 10)
46         print(" random.triangular(0, 100, 10) = {0}".format(ret,))
47 
48     # 高斯分布的随机数(稍快) random.gauss(mu, sigma)
49     for i in range(5):
50         ret = random.gauss(0, 1)
51         print(" random.gauss(0, 1) = {0}".format(ret,))
52 
53     # beta β分布的随机数 random.betavariate(alpha, beta)
54 
55     # 指数分布的随机数 random.expovariate(lambd)
56 
57     # 伽马分布的随机数 random.gammavariate(alpha, beta)
58 
59     # 对数正态分布的随机数 random.lognormvariate(mu, sigma)
60 
61     # 正态分布的随机数 random.normalvariate(mu, sigma)
62 
63     # 冯米塞斯分布的随机数 random.vonmisesvariate(mu, kappa)
64 
65     # 帕累托分布的随机数 random.paretovariate(alpha)
66 
67     # 韦伯分布的随机数 random.weibullvariate(alpha, beta)
68 
69 
70 if __name__ == "__main__" :
71     testRand()