1. python第三方模块——随机数模块
import random
导入第三方随机数模块
random.randint(1,20) | [1,20]的一个随机整数 |
random.randrange(1,20) | [1,20)的一个随机整数 |
random.uniform(1,2) | [1,2]间的一个 随机浮点数 |
random.random() | [0,1)的一个随机浮点数 |
rabdom.randint(20,20) | 取值永远是20 |
注意:下限必须小于上限
>>> import random
>>> random.randint(12,20) 返回[12,20]之间的整数
20
>>> random.randint(12,20)
13
>>> random.randint(12,20)
17
>>> random.randint(12,20)
20
>>> random.randint(20,12)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/kiosk/anaconda3/lib/python3.7/random.py", line 222, in randint
return self.randrange(a, b+1)
File "/home/kiosk/anaconda3/lib/python3.7/random.py", line 200, in randrange
raise ValueError("empty range for randrange() (%d,%d, %d)" % (istart, istop, width))
ValueError: empty range for randrange() (20,13, -7)
>>> random.randint(20,20)
20
>>> random.randint(20,20)
20
2. 自设定列表的随机数
t=[1,2,3,4,5]
random.choice(t) | 从列表t中选取一个随机数 |
random.shuffle(t) | 打乱列表t中的元素,无返回值 |
random.sample(t,2) | 从列表t中选取两个随机数 |
random.sample() | 产生不重复的随机数 |
random.shuffle()
在列表原内存空间上扰乱,未申请新的内存空间来保存扰乱后的列表,故扰乱返回值为None,无返回值
>>> import random
>>> li=list(range(100))
>>> li
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
>>> random.shuffle(li)
>>> li
[99, 29, 37, 98, 75, 57, 82, 39, 84, 74, 3, 91, 96, 8, 0, 16, 35, 71, 97,
9, 65, 53, 22, 21, 27, 55, 15, 11, 78, 90, 12, 23, 45, 2, 48, 63, 46, 68, 86,
50, 58, 67, 81, 61, 31, 70, 59, 76, 94, 60, 56, 19, 88, 14, 89, 24, 73, 93, 42,
44, 80, 79, 41, 13, 6, 51, 18, 7, 30, 32, 95, 47, 17, 10, 33, 20, 66, 1, 52,
36, 25, 43, 4, 69, 85, 40, 26, 38, 72, 83, 34, 28, 54, 62, 87, 92, 49, 5, 77,
64]
>>> random.shuffle(li)
>>> li
[30, 33, 85, 14, 1, 57, 40, 0, 34, 13, 74, 4, 70, 83, 53, 59, 76, 39, 51,
42, 60, 90, 71, 41, 88, 98, 5, 35, 87, 68, 69, 10, 15, 91, 18, 54, 75, 6, 49,
21, 81, 27, 46, 99, 9, 82, 25, 3, 17, 86, 63, 80, 66, 84, 37, 93, 7, 61, 96,
16, 79, 36, 24, 55, 58, 52, 64, 67, 65, 12, 92, 26, 2, 73, 43, 8, 97, 78, 20,
48, 95, 28, 89, 38, 62, 29, 23, 11, 45, 72, 94, 56, 31, 44, 19, 50, 47, 77, 22,
32]
>>> print(random.shuffle(li))
None