一、概述
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]