Xiuchuan Zhang

Personal Website

This is Xiuchuan's personal website.
I plan to post some of my current learning and review notes on it.
If you have any questions or suggestions, welcome to comment in my posts.
这里是秀川的个人博客。
我打算上传一些现阶段正在复习与学习的笔记在这网站。
若有任何问题或建议,欢迎在各页面留言。


Python 内置函数生成随机数

# Random
# 用内置函数生成随机数
# 删除# 调用测试 用于更好理解
# - 记账函数
# - 整形随机数生成器函数
# - 随机序列生成器函数
# - 基于统计分布函数
#
# 下载 (右键另存为)
#-----------------------------------------

import random

#记账函数(生成相同随机数)
#-----------------------------------------
#函数初始化随机数生成器,当a=None时,系统时间当作seed值
#random.seed(a= None, version = 2)

#getstate 返回一个state,被用于 setstate 恢复生成器内部状态
#random.getstate()
#random.setstate(state)

#整形随机数生成器函数
#-----------------------------------------
#浮点随机值 0~1
print (random.random())

#范围随机整数,忽略第一个参数则默认为0
#print (random.randrange(20)) #0~19
#print (random.randint(0,19))

#0~99中3的随机倍数,3为step
#print (random.randrange(0,99,3))

#随机序列生成器函数
#-----------------------------------------
#随机选择值
#print (random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))

items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#混合重排样本
#random.shuffle(items)
#print (items)
#给定大小的随机样本
#print (random.sample(items,5))
#权重选择,给定概率选择随机值
#weighted_choices = [('Three', 3), ('Two', 2), ('One', 1), ('Four',4)]
#population = [val for val, cnt in weighted_choices for i in range(cnt)]
#print (random.choice(population))

# 基于统计分布函数
#----------------------------------------
#范围内均匀分布随机值,随机数概率一样
#print (random.uniform(1,9))

#三角分布随机浮点数(low,high,mode)
#print (random.triangular(0,1,10))

#贝塔分布 (Beta Distribution) (alpha>0,beta>0) 0<值<1
#print (random.betavariate(3,2))
#指数分布 (Exponential Distribution) (lambd!=0) #print (random.expovariate(0.5))
#伽马分布 (Gama Distribution) (alpha>0,beta>0)
#print (random.gammavariate(3,2))

#正态分布 (Normal Distribution) (mu均值,sigma标准差)
#print (random.normalvariate(1,2))

#高斯分布 (Gauss Normal Distribution) (mu均值,sigma标准差)
#print (random.gauss(1,2))

#对数正态分布 (Logarithmic Normal Distribution) (mu均值,sigma标准差)
#print (random.lognormvariate(1,2))

#冯米塞斯分布 (Von Mises Distribution) (0<=mu<=2*pi 角度均值,kappa>=0 浓度)
#print (random.vonmisesvariate(1,2))

#帕累托分布 (Pareto Distribution) (alpha形状)
#print (random.paretovariate(1))

#Weibull分布 (Weibull Distribution) (alpha 标量, beta 形状)
#print (random.weibullvariate(1,2))

#泊松分布 (Poisson Distribution)
'''
import math
def nextPoisson (lambdaValue):
elambda = math.exp(-1*lambdaValue)
product = 1
count = 0

while (product >= elambda):
product *= random.random()
result = count
count += 1
return result

for x in range(1,9):
print (nextPoisson(8))
'''

Support

cancel

Thank you for your supporting

Scan
Scan
Scan It

打开支付宝或微信扫一扫,即可进行扫码打赏哦