python中的random和range

博客介绍了使用random生成非均匀随机数的相关内容,聚焦于信息技术中随机数生成这一关键操作,为相关开发提供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

random

import random

print( random.randint(1,10) )        # 产生 1 到 10 的一个整数型随机数,包括1和10
print( random.random() )             # 产生 0 到 1 之间的随机浮点数
print( random.uniform(1.1,5.4) )     # 产生  1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice([1,2,3,4]) )   # 从序列中随机选取一个元素,也可以是字符串中的一个元素
print( random.randrange(1,100,2) )   # 生成从1到100的间隔为2的随机整数

a=[1,3,5,6,7]                # 将序列a中的元素顺序打乱
random.shuffle(a)
print(a)

# 多个字符中生成指定数量的随机字符:
print random.sample('zyxwvutsrqponmlkjihgfedcba',5) #['j', 'v', 'r', 'g', 'e']

# 从a-zA-Z0-9生成指定数量的随机字符:
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
print ran_str
'''
7
0.19106536160963372
1.7526172344777833
4
45
[3, 5, 6, 7, 1]
['j', 'v', 'r', 'g', 'e']
mpL4Qtgy
'''

使用random生成非均匀的随机数

import random
#以序列seq中值出现的概率来随机生成某个值
def rand_pick(seq , probabilities):
    x = random.uniform(0, 1)  # 生成随机浮点数
    cumprob = 0.0
    for item, item_pro in zip(seq, probabilities):
        cumprob += item_pro
        if x < cumprob:
            break
    return item
value_list = [3,4,5]  # 样本
probabilities = [0.2, 0.3, 0.5]  # 控制概率
print(rand_pick(value_list, probabilities))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值