# 引入库

引入库
1
from random import *

# 随机种子

如果不设置随机种子,则以系统当前时间为默认值

随机种子
1
2
seed(10)
seed(20)

# 随机数

# 随机浮点数

随机浮点数
1
2
random() # 产生 [0.0, 1.0) 之间的随机浮点数
uniform(a, b) # 产生 [a, b] 之间的随机浮点数

# 随机整数

随机整数
1
2
3
4
randint(a, b) # 产生 [a, b] 之间的随机整数
randrange(a) # 产生 [0, a) 之间的随机整数
randrange(a, b, step) # 按 step 为步长,产生 [a, b) 之间的随机整数
numbers = [randrange(0, 10, 2) for i in range(10)]

# 序列用函数

序列用函数
1
2
3
4
5
6
7
8
9
10
choice(['win', 'lost']) # 从目标序列随机返回一个元素

choice(['win', 'lost'], [4, 4, 2], k = 10) # 设置 权重 和 采样次数

# 随机排列序列
number = [1, 2, 3, 4, 5]
shuffle(number)

# 以列表形式随机返回n个元素
sample([10, 20, 30, 40], k = 3)

# 概率分布

概率分布
1
gauss(均值, 标准差)

# 微信红包

微信红包
1
2
3
4
5
6
7
8
9
10
11
12
13
import random

def redPacket(total, num):
for i in range(1, num):
# 保证每个人获得红包的期望是 total / num
per = random.uniform(0.01, total / (num - i + 1))
total -= per
k += per
print("第 {} 位红包金额: {:.2f} 元".format(i, per))
else:
print("第 {} 位红包金额: {:.2f} 元".format(num, total))

redPacket((100), 3)

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

duoxichangan 微信支付

微信支付

duoxichangan 支付宝

支付宝