一、概述
python可以通過random包來產生隨機數或者執行一些隨機操作。
1. random.seed()
給定一個數據作為隨機數種子,和大多數語言一樣,python也可以使用時間來作為隨機數種子。
import time
time.seed(time.time())
1
2
importtime
time.seed(time.time())
2. random.random()
產生一個位于[0, 1) 之間的隨機浮點數。
3. random.randint(a, b)
產生一個位于[a, b] 之間的隨機整數。
4. random.uniform(a, b)
產生一個位于[a, b] 之間的隨機浮點數。
5. random.randrange(a, b, s)
產生一個位于[a, b] 之間的隨機數,以s為步長。
6. random.sample(o, n)
在對象o中隨機取出n個數據,對象可以是列表,元組,字符串等。
7.random.choice(o)
在對象o中隨機取出1個數據,類似于sample(o, 1) 。
8. random.shuffle(o)
打亂對象o中各元素的順序,相當于重新洗牌,要求對象類型為列表。
二、示例
# - coding:utf8
import random
import time
def main():
data = [1, 2, 3, 4, 5, 6, 7]
random.seed(time.time())
print random.random()
print random.randint(100, 200)
print random.uniform(100, 500)
print random.randrange(100, 200, 5)
print random.sample(data, 3)
print random.choice(data)
random.shuffle(data)
print data
if __name__ == "__main__":
main()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# - coding:utf8
importrandom
importtime
defmain():
data=[1,2,3,4,5,6,7]
random.seed(time.time())
printrandom.random()
printrandom.randint(100,200)
printrandom.uniform(100,500)
printrandom.randrange(100,200,5)
printrandom.sample(data,3)
printrandom.choice(data)
random.shuffle(data)
printdata
if__name__=="__main__":
main()
輸出:
0.0342787191143
138
464.174305238
115
[4, 5, 6]
3
[1, 6, 2, 3, 7, 5, 4]
1
2
3
4
5
6
7
0.0342787191143
138
464.174305238
115
[4,5,6]
3
[1,6,2,3,7,5,4]