Python中的随机数

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
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值