python库之random库(随机数函数)

2022-10-06 10:45:58

一、random库

random库概述:

  • random库是使用随机数的Python标准库

  • 伪随机数:采用梅森旋转算法生成的随机序列中元素

  • import random

二、函数

(1)索引

基本随机数函数:seed(),random()

扩展随机数函数:randint(),randrange(),uniform(),choice(),shuffle(),getrandbits(),

函数功能参数
random.seed([x])改变随机数生成器的种子x:种子,整型或浮点型都行。默认为当前系统时间
random.random()返回[0,1)内一个随机浮点数null
random.randint(m,n)返回[m,n]中的一个随机整数m,n必须是整数
random.randrange(m,n[,k])返回[m,n)中以k为步长的一个随机整数m,n,k必须是整数
k默认为1
random.getrandbits(k)返回一个可以用k位二进制的整数k为整数
random.uniform(m,n)返回[m,n)中的一个随机浮点数m,n可以是整型或是浮点型
random.choice(seq)返回一个列表、元组或字符串的随机项。字符串、列表或元组
random.sample(seq,k)返回k个列表、元组或字符串的随机项。字符串、列表或元组
random.shuffle(list)将序列的所有元素随机排序。无返回值列表

(2)random.seed([x])

你不必特别去设定seed,Python会帮你选择seed。默认种子x为当前系统时间,所以每次的结果才不同

import randomprint(random.random())#0.9159448117309811print(random.random())#0.47405353654712656

可以在调用其他随机模块函数之前调用此函数:生成同样的结果

import random

random.seed(3)print(random.random())#0.18674172875460915

random.seed(3)print(random.random())#0.18674172875460915print(random.random())#0.048822131669426394

(3)random.randrange(m,n[,k])

# 随机选取0到100间的偶数:print(random.randrange(0,101,2))#16

(4)random.getrandbits(k)

import randomprint(random.getrandbits(2))#2位二进制:00(0),01(1),10(2),11(3)#3

(5)random.choice(seq)

print(random.choice("string"))#rprint(random.choice([1,2,3,4]))#1print(random.choice((1,2,3,4)))#2

应用:

#随机选取字符串:print(random.choice(['剪刀','石头','布']))#布

(6)random.sample(seq,k)

print(random.sample('12345',3))#['3', '1', '4']print(random.sample([1,2,3,4],3))#[3, 4, 2]print(random.sample((1,2,3,4),3))#[4, 3, 1]

(7)random.shuffle(list)

应用

import random# 打乱排序
items=[1,2,3,4,5,6,7,8,9,0]
random.shuffle(items)print(items)#[7, 5, 6, 9, 4, 1, 3, 2, 0, 8]

参考:https://www.runoob.com/python/func-number-random.html

  • 作者:sandalphon4869
  • 原文链接:https://blog.csdn.net/sandalphon4869/article/details/89680906
    更新时间:2022-10-06 10:45:58