python随机函数
random, uniform, randint, randrange, shuffle, sample
-
random()
random():返回随机生成的一个实数,范围[0,1)
import random #random()方法不能直接访问,需要导入random模块,然后通过random静态对象调用该方法
- 1
-
random.random()
random.random()方法用于生成一个0到1的随机浮点数:0<=n<=1.0
Python 3.7.9 (default, Aug 31 2020, 17:10:11) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import random >>> print(random.random()) 0.9813106591730276 >>> print(random.random()) 0.7331968297842003
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
-
random.uniform
random.uniform(a,b):用于生成一个指定范围内的随机浮点数。如果a>b,则b<=n<=a; 若a>b,则a<=n<=b.
>>> import random >>> print(random.uniform(4,10)) 5.766155005725524 >>> print(random.uniform(10,4)) 6.253381814573553
- 1
- 2
- 3
- 4
- 5
-
random.randint
random.randint(a,b), 用于生成一个指定范围内的整数,必须满足a<=b,生成随机数n: a<=n<=b
>>> import random >>> print(random.randint(5,10)) 8 >>> print(random.randint(5,5)) 5 >>> print(random.randint(5,1)) # 报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "D:\Anaconda3\lib\random.py", line 222, in randint return self.randrange(a, b+1) File "D:\Anaconda3\lib\random.py", line 200, in randrange raise ValueError("empty range for randrange() (%d,%d, %d)" % (istart, istop, width)) ValueError: empty range for randrange() (5,2, -3)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
-
random.randrange
random.randrange(start, stop,step): 从指定范围内,按指定基数递增的集合中获取一个是随机数,如random.randrange(10, 20, 2),结果相当于从[10,12,14,16,18]中获取一个随机数。结果上与random.choice(range(10,20,2))一致
>>> import random >>> print(random.randrange(10,20,2)) 14 >>> print(random.randrange(10,12,2)) 10
- 1
- 2
- 3
- 4
- 5
-
random.choice
random.choice(sequence): sequence表示一个有序类型。sequence在python不是一种特定的类型,而是泛指一系列的类型:list, tuple, 字符串等
>>> import random >>> print (random.choice("喜欢Python?")) t >>> print (random.choice("喜欢Python?")) 喜 >>> print(random.choice(["Joob","python","bodd"])) bodd >>> print(random.choice(["Joob","python","bodd"])) python >>> print(random.choice(("Tuple", "List", "Dicti"))) List >>> print(random.choice(("Tuple", "List", "Dicti"))) Dicti
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
-
random.shuffle
random.shuffle(x[,random]): 用于将一个列表中的元素打乱
>>> import random >>> p = ["Joob","python","bodd"] >>> random.shuffle(p) >>> p ['Joob', 'python', 'bodd'] >>> random.shuffle(p) >>> p ['bodd', 'Joob', 'python']
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
-
random.sample
random.sample(sequeence,k): 从指定序列中随机获取指定长度的片段,但不会修改原有的序列
>>> import random >>> list = [1, 2, 3, 4, 5, 6, 7] >>> a = random.sample(list,3) >>> a [5, 1, 4] >>> a = random.sample(list,4) >>> a [2, 4, 7, 5] >>> list [1, 2, 3, 4, 5, 6, 7]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10