随机模块random
random()方法返回随机生成的一个实数,该数在[0,1)的左闭右开区间范围内。
当需要使用random()方法时,要导入随机模块,再使用random静态对象调用random()方法。
import random
random.random()
random()中包含其他常见的函数:
1. randint(a,b)
从[a,b]闭区间中随机获取一个整数。
print(random.randint(1, 10))
结果:8
从1,2,3,4,5,6,7,8,9,10中取一个数。
2. randrange(a,b,c)
约等于randint+range,从[a,b)的左闭右开区间取一个整数;c是步长,可以不写,默认是1。
print(random.randrange(1, 10,2))
结果:7
从1,3,5,7,9中随机取一个数。
3. choice(a)
从容器中随机获取一个元素。a可以是列表,也可以是字符串。
print(random.choice([1, 2, 3, 4]))
print(random.choice('hello'))
结果:2 e
4. choices(a,k)
从容器中随机获取k个元素,有放回的抽取元素。a可以是列表,也可以是字符串。
print(random.choices([1, 2, 3, 4], k=3))
print(random.choices('hello', k=3))
结果:[1, 1, 2] ['h', 'h', 'e']
拿到的元素有重复。
5. sample(a,k)
从有序序列中无放回的抽取k个元素。a可以是列表,也可以是字符串。
print(random.sample([1, 2, 3, 4, 5, 6, 7, 8, 9], k=3))
print(random.sample('hello', k=2))
结果:[4, 8, 6] ['e', 'l']
k不能超出序列的范围,超出范围,会报错:Sample larger than population or is negative
6. shffule()
将有序容器随机打乱顺序。没有返回值,并且修改序列本身。
list = [1, 2, 3, 4]
print(random.shuffle(list))
print(list)
结果:None [1, 4, 2, 3]
7.random()
从[0,1)左闭右开区间随机取一个实数。
print(random.random())
结果:0.2695097124324918