目录
1、random.random()随机生成(0,1)之间的浮点数
2、random.randint(start,end)
3、random.randrange( , , )
4、random.choice(list)
5、random.shuffle(lst)
6.seed()
random() 方法返回随机生成的一个实数,它在[0,1)范围内。
import random
# 第一个随机数
print ("random() : ", random.random())
# 第二个随机数
print ("random() : ", random.random())
output:
random() : 0.09690599908884856
random() : 0.8732120512570916
使用了 random 模块的 randint() 函数来生成随机数,例子上你每次执行后都返回不同的数字(0 到 9),该函数的语法为:random.randint(a,b)
函数返回数字 N ,N 为 a 到 b 之间的数字(a <= N <= b),包含 a 和 b
import random
print(random.randint(0,9))
output:
4
在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围上限和下限,第三个参数是递增增量,不包括下限,包括上限
使用方式如下:
import random
# 输出 100 <= number < 1000 间的偶数
print "randrange(100, 1000, 2) : ", random.randrange(100, 1000, 2)
# 输出 100 <= number < 1000 间的其他数
print "randrange(100, 1000, 3) : ", random.randrange(100, 1000, 3)
output:
randrange(100, 1000, 2) : 976
randrange(100, 1000, 3) : 520
理解:976 很好理解,因为以 2 为步长那么肯定是是 2 的倍数;但以 3 为步长为什么不是 3 的倍数?其实是 520-100=420 这个 420 是 3 的倍数。
976-100=876 也是 2 的倍数。
choice方法返回一个列表,元组或字符串的随机项从序列中随机抽选一个数
import random
print "choice([1, 2, 3, 5, 9]) : ", random.choice([1, 2, 3, 5, 9])
print "choice('A String') : ", random.choice('A String')
output:
choice([1, 2, 3, 5, 9]) : 2
choice('A String') : n
对列表随机排序
注:lst -- 可以是一个列表
import random
list = [20, 16, 10, 5]
random.shuffle(list)
print "随机排序列表 : ", list
random.shuffle(list)
print "随机排序列表 : ", list
output:
随机排序列表 : [16, 5, 10, 20]
随机排序列表 : [16, 5, 20, 10]
方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。
random.seed(0)设置初始化随机数种子
import random
print random.random()
print random.random()
print "------- 设置种子 seed -------"
random.seed( 10 )
print "Random number with seed 10 : ", random.random()
# 生成同一个随机数
random.seed( 10 )
print "Random number with seed 10 : ", random.random()
# 生成同一个随机数
random.seed( 10 )
print "Random number with seed 10 : ", random.random()
结果:
0.739880443211
0.78969784712
------- 设置种子 seed -------
Random number with seed 10 : 0.57140259469
Random number with seed 10 : 0.57140259469
Random number with seed 10 : 0.57140259469