1. 程式人生 > >Python——隨機數生成

Python——隨機數生成

        Python自帶的 random 類庫提供了多種隨機數的生成方法,可根據自己需要靈活使用。

這裡總結了一些常用的方法:

import random
n = 10
#生成一個[l1,r1]範圍內的隨機數
l1 = 1
r1 = 20
randomNum = random.randint(l1,r1)
print("Test 1 :")
print(randomNum)
# 生成[l2,r2)範圍內的 n 個不重複隨機數,n > r - l 時報錯
l2 = 1
r2 = 21
randomList1 = random.sample(range(l2,r2),n)
print("Test 2 :")
print(randomList1)
# 生成[0,m)範圍內的 n 個不重複隨機數,n > m 時報錯
m = 20
randomList2 = random.sample(range(m),n)
print("Test 3 :")
print(randomList2)
# 生成給定陣列 numList 中的 n 個不重複隨機數,n > len(numList) 時報錯
numList1 = [10,20,30,40,50,60,70,80,90,100,110,120,130]
randomList3 = random.sample(numList1,n)
print("Test 4 :")
print(randomList3)
#打亂給定陣列的順序,原陣列順序改變
numList2 = [1,2,3,4,5,6,7,8,9,10,11,12,13]
print("Test 5 :")
print("Before :",numList2)
random.shuffle(numList2)
print("After :",numList2)

執行結果:

Test 1 :
11
Test 2 :
[8, 11, 13, 14, 9, 6, 3, 16, 1, 19]
Test 3 :
[12, 7, 6, 0, 2, 3, 14, 19, 17, 8]
Test 4 :
[20, 10, 50, 100, 60, 30, 130, 90, 40, 70]
Test 5 :
Before : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
After : [9, 11, 6, 12, 4, 3, 2, 8, 1, 5, 13, 7, 10]