1. 程式人生 > >偽隨機數生成器——random模組的用法

偽隨機數生成器——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.