[Python学习日记-49] Python 中的随机数模块 —— random

[Python学习日记-49] Python 中的随机数模块 —— random

简介

random 模块

简介

        程序中有很多地方需要用到随机字符,例如登录网站的随机验证码,而这些功能可以通过 random 模块来很容易生成随机字符串,然后实现这些功能,下面来一起学习一下 random 模块的一些常用方法的介绍吧。

random 模块

一、randrange()

        用于生成一个指定范围内的随机整数,语法如下

random.randrange([start], stop,[step])

参数说明:

  • start:可选,范围的起始值(默认值为0)
  • stop:范围的结束值,但不包括该值
  • step:可选,步长(默认值为1)

返回一个随机选择的整数,范围在 [start, stop) 之间,按照步长 step 进行选择,演示代码如下

import random

# 生成0-9之间的随机整数
num1 = random.randrange(10)
print(num1)

# 生成1-10之间的随机整数,不包括11
num2 = random.randrange(1, 11)
print(num2)

# 生成1-10之间的随机偶数
num3 = random.randrange(2, 11, 2)
print(num3)

代码输出如下: 

二、randint()

        用于生成一个指定范围内的随机整数,语法如下

random.randint(start, stop)

参数说明:

  • start:生成随机整数的起始值
  • stop:生成随机整数的结束值

函数返回一个随机选择的整数,范围在 [start, stop] 之间,包含 stop,演示代码如下

import random

# 生成0-9之间的随机整数
num1 = random.randint(0, 9)
print(num1)

# 生成1-10之间的随机整数
num2 = random.randint(1, 10)
print(num2)

代码输出如下:

三、random()

用于生成一个0到1之间的随机浮点数,语法如下

random.random()

返回一个0到1之间的随机浮点数,包括0但不包括1,演示代码如下

import random

# 生成一个0到1之间的随机浮点数
num = random.random()
print(num)

代码输出如下:

四、choice()

        用于从一个非空序列中随机选择一个元素,语法如下

random.choice(seq)

参数说明:

  • seq:表示一个非空的序列,可以是列表、元组、字符串等

返回 seq 序列中的一个随机元素,演示代码如下

import random

# 从列表中随机选择一个元素
fruits = ['apple', 'banana', 'orange', 'grape']
random_fruit = random.choice(fruits)
print(random_fruit)

# 从字符串中随机选择一个字符
word = 'hello'
random_char = random.choice(word)
print(random_char)

代码输出如下:

五、sample()

        用于从一个序列中随机选择多个元素,返回一个新的列表,语法如下

random.sample(population, k)

参数说明:

  • population:表示一个非空的序列,可以是列表、元组、字符串等
  • k:表示需要选择的元素个数,k 必须小于或等于 population 的大小

返回一个新的列表,其中包含从 population 中随机选择的 k 个元素,演示代码如下

import random
import string

# 从列表中随机选择两个元素
fruits = ['apple', 'banana', 'orange', 'grape', 'kiwi']
random_fruits = random.sample(fruits, 2)
print(random_fruits)

# 从字符串中随机选择三个字符
word = 'hello'
random_chars = random.sample(word, 3)
print(random_chars)

# 随机选择数字+大小写字母五个字符
word = string.digits + string.ascii_uppercase + string.ascii_lowercase
random_chars = random.sample(word, 5)
print(''.join(random_chars))

代码输出如下:

        上面代码使用了 string 模块,该模块可以提供了许多用于处理和操作字符串的函数和方法。一些常用的 string 模块函数和方法包括:

  • string.ascii_letters:包含所有的 ASCII 字母(a-z和A-Z)
  • string.ascii_lowercase:包含所有的小写 ASCII 字母(a-z)
  • string.ascii_uppercase:包含所有的大写 ASCII 字母(A-Z)
  • string.digits:包含所有的数字字符(0-9)
  • string.punctuation:包含所有的标点符号字符
  • string.capwords(s):将字符串 s 中的单词首字母大写,其他字母小写
  • string.lower(s):将字符串 s 中的所有字母转为小写
  • string.upper(s):将字符串 s 中的所有字母转为大写
  • string.strip(s, chars):删除字符串 s 开头和结尾的 chars 中包含的字符
  • string.replace(s, old, new):将字符串 s 中的 old 子串替换为 new 子串

六、shuffle()

用于对一个可变序列进行随机打乱顺序,语法如下

random.shuffle(seq)

参数说明:

seq:表示一个可变序列,例如列表之类的

该方法将会打乱原列表的顺序,并不会生成新的可变序列,演示代码如下

import random
import string

seq = list(string.digits + string.ascii_uppercase + string.ascii_lowercase)
print(seq)
random.shuffle(seq)
print(seq)

代码输出如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JoveZou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值