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

文章目录

  • 一、random库
  • 二、函数
    • (1)索引
    • (2)random.seed([x])
    • (3)random.randrange(m,n[,k])
    • (4)random.getrandbits(k)
    • (5)random.choice(seq)
    • (6)random.sample(seq,k)
    • (7)random.shuffle(list)


一、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 random

print(random.random())
#0.9159448117309811

print(random.random())
#0.47405353654712656

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

import random

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

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

print(random.random())
#0.048822131669426394

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

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

(4)random.getrandbits(k)

import random

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

(5)random.choice(seq)

print(random.choice("string"))
#r
print(random.choice([1,2,3,4]))
#1
print(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

你可能感兴趣的:(python库)