Python 动手练: 生成随机数_python生成随机数的代码

liftword2个月前 (02-05)技术文章15

本练习题重点介绍如何使用 random 模块和 secrets 模块生成随机数。

「建议:根据提示完成练习后,再参考文末示例代码。」

练习 1:随机生成 3 个能被 5 整除的整数

编写一个程序,生成 3 个介于 100 和 999 之间的随机整数,该整数可被 5 整除。

「提示」

使用 random 模块的randrange() 方法。

randrange() 方法返回指定递增基数集合中的一个随机数。

randrange() 方法的语法:

import random

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

参数:

start -- 指定范围的开始值,包含在范围内。

stop -- 指定范围的结束值,不包含在范围内。

step -- 指定递增基数。

练习 2:幸运号码

编写一个程序,随机生成 100 个十位数字,并从中挑选两个作为幸运号码。

号码的长度必须为10位数字。

所有 100 个号码必须是唯一的。

「提示」

使用 randrange() 生成一个包含 100 个随机数字的列表。

然后使用 sample() 方法挑选 2 张幸运号码。

sample() 从序列中选择指定数量的唯一元素。用于无重复的随机抽样。

练习 3:随机密码

编写一个程序,使用 secrets 模块生成一个高度加密的六位随机数。

「提示」

伪随机数模块random生成的随机数并不随机,大多数情况下,如果不设置随机数种子,会按照系统时间来生成种子,进而生成随机数,若是用random生成的随机数当密码,那被破解的几率应该是很高的。

secrets是python3.6加入到标准库的,使用secrets模块,可以生成适用于处理机密信息(如密码,帐户身份验证,安全令牌)的加密强随机数。

SystemRandom() 使用OS提供的最高质量源生成随机数的类。

练习 4:随机选择一个字符

编写一个程序,从给定字符串中随机选择一个字符。

「提示」

choice() 方法返回一个列表,元组或字符串的随机项。

语法:

import random

random.choice( seq )

参数:

seq -- 可以是一个列表,元组或字符串。

练习 5:生成六位验证码

编写一个程序来生成六位验证码,验证码由大小写字母组成。

「提示」

使用 string 模块的 string.ascii_letters 常量,获取所有大小写字母。

使用 for 循环,通过 choice() 随机选择一个字符。

使用 join() 进行连接。

# 练习 1
import random
for n in range(3):
    num = random.randrange(100, 1000, 5)
    print(num)
# 练习 2
import random
list1 = []
for i in range(100):
    list1.append(random.randrange(1000000000, 10000000000))
Lucky = random.sample(list1, 2)
print("幸运号码:", Lucky)
# 练习 3
import secrets
secretsGenerator = secrets.SystemRandom()
pws = secretsGenerator.randrange(100000, 999999)
print("随机密码:", pws)
# 练习 4
import random
str1 = 'zbxx.net'
char = random.choice(str1)
print("随机字符是:", char)
# 练习 5
import random
import string
str1 = ''
letters = string.ascii_letters
for i in range(6):
    str1=str1+''.join(random.choice(letters)) 
print("验证码:", str1)

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

相关文章

Python随机模块22个函数详解_python 随机ua

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。平时数据分析各种分布的数据构造也会用到。random模块,用于生成伪随机数,之所以称之为伪随机数,是...

Python获取随机数方法汇总_python语言如何获取随机整数

1. random.random()作用:随机生成一个[0,1)之间的浮点数import random print(f'随机生成一个[0,1)之间的浮点数={random.random()}')2....

python中随机模块random的用法_pythonrandom随机数的用法

Python 有一个可用于制作随机数的内建模块。现在总结归纳一下,方便大家查询学习random 模块有一组如下的方法:序号方法描述1seed()初始化随机数生成器。2getstate()返回随机数生成...

Python随机抽查部分学生,手把手教你学会random

疫情期间的网课上你有被熊孩子气到炸吗网线的两端,是不是这样巧合呢复课后的课堂上你有被熊孩子气到疯吗等下,跑题了,下面言归正传关键知识点:random库、判断、循环、列表、异常处理、文件的读取等。开发环...

python 生成随机数、随机字符串_python语言随机产生数字

import random import string # 随机整数: random.randint(1,50) # 随机选取0到100间的偶数: random.randrange(0, 101,...

零基础学python第七天之随机整数randint

我们的目标是:用最短的时间从编程零基础提升到掌握python常用的基本知识。加油!昨天我们的猜数字小游戏实现了多次运行,直到猜中为止,这个小游戏还有一个小不足,就是预设数是固定的,对我们来说,没有什么...