Python——隨機數生成
阿新 • • 發佈:2019-01-10
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]