伪随机数生成器——random模块的用法

1.  使用random.random(),生成区间 [0,1)内的浮点数

import random
for i in range(3):
    a = random.random()
    print("{:06.3f}".format(a), end="   ")

# 输出:00.042   00.998   00.841  

2.  使用random.uniform(a, b),生成指定区间(a, b)内的浮点数

import random
# a = random.uniform(1, 100)
# print(a)

for i in range(5):
    print("{:06.3f}".format(random.uniform(1, 100)), end="   ")

# 输出:89.114   24.131   32.165   39.196   92.997 

3.  使用random.seed(a),不改变a的值,重新执行会生成相同的随机数

import random
# a = random.uniform(1, 100)
# print(a)
random.seed(1)
for i in range(5):
    print("{:06.3f}".format(random.random()), end="   ")

第一次输出:00.134   00.847   00.764   00.255   00.495
第二次输出:00.134   00.847   00.764   00.255   00.495

4.   使用random.randint(a, b),生成区间 [a, b)内的整数

import random
    
for i in range(3):
    print(random.randint(1, 10), end="   ")

# 输出:5   1   7
   

5.  使用random.randrange(start, stop, step),生成(start, stop)区间内的步长为step的随机数

import random

for i in range(3):
    print(random.randrange(1, 100, 5), end="   ")

# 输出:46   86   61

6.  使用random.choice(list),从序列中随机选取值,例如:抛硬币10000次

import random

outcomes = {
    "heads": 0,
    "tails": 0
}
sides = list(outcomes.keys())

for i in range(10000):
    outcomes[random.choice(sides)] += 1

print("heads:", outcomes["heads"])
print("tails:", outcomes["tails"])

# 输出:heads: 5053
            tails: 4947        

 7.  

猜你喜欢

转载自www.cnblogs.com/david-lcw/p/10019882.html