美文网首页Python
python3 random模块的用法

python3 random模块的用法

作者: Rethink | 来源:发表于2018-11-22 18:08 被阅读31次

python v3.7.0

random.random()

生成一个随机的浮点数,范围是在0.0~1.0之间。

import random

a=random.random()
print(a)
0.4156918860673895
print('{0:.3f}'.format(a))
0.416
print(round(a,3))
0.416

random.uniform(a,b)

random.uniform()方法可以设定生成的随机浮点数的范围,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。

print(random.uniform(1, 1))
1.0

print(random.uniform(1, 2))
1.222097652142283

print(random.uniform(10, 2))
3.2784286513984773

random.randint(a,b)

随机生一个整数int类型,可以指定这个整数的范围,同样有上限和下限值,取值区间包含上下限 ,即[a,b],和random.uniform()方法不同,当a>b的时候会抛出异常。

print(random.randint(1, 1))
1

print(random.randint(1, 2))
2

print(random.randint(2, 1))
ValueError: empty range for randrange() (2,2, 0)

random.choice(seq)

可以从列表,元组或字符串中选取 【一个】 随机的元素返回。

print(random.choice([1, 2, 'a']))
2

print(random.choice((3, 4, 5)))
4

print(random.choice("abc"))
c

random.shuffle(list)

随机打乱【列表】元素的位置;要注意,random.shuffle()会直接作用于seq本身,而不会返回任何值,如:

print(random.shuffle([1, 2, 3]))
None

a = [1, 2, 3]
b = a[:]
random.shuffle(b)
print(a, b)
[1, 2, 3] [1, 3, 2]

random.sample(seq,k)

可以从指定的序列中,随机选取指定长度的片断,并返回一个列表,k的取值范围是 [0,len(seq)]。

a = "abcdefg"
print(random.sample(a, len(a)))
['c', 'a', 'g', 'b', 'f', 'd', 'e']
print(a)
abcdefg

b = [1, 2, 3, "ab"]
print(random.sample(a, len(b) - 2))
['d', 'a']

print(random.sample(a, 0))
[ ]

相关文章

网友评论

    本文标题:python3 random模块的用法

    本文链接:https://www.haomeiwen.com/subject/guzcqqtx.html