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

liftword4个月前 (02-05)技术文章35

本练习题重点介绍如何使用 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 随机字符串_python 生成随机字符

在很多时候我们可能需要生成一些随机字符串。Python 也为我们提供了生成随机字符串的方法和函数。这个函数是在 random 库中定义的函数 choice。通常 choice 将会从给定的字符串中挑选...

在PLC中生成随机数_在plc中生成随机数的代码

有时为了某些测试需求,需要仿真产生一些数据。这时,我们可以通过调取指令或自行编写程序来生成这些随机数据。以下以博途为例,简要说明了随机数产生的几种方式:一、读取系统时间的纳秒作为随机数以固定周期直接将...

用Python做个随机点名系统,禁止逃课

今天给大家分享一个随机点名的系统并把它打包成exe,压迫感来了没有~一、实现随机点名# -*- coding: UTF-8 -*-import tkinter as tkfrom pandas imp...

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

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

「万能Python」-21-标准模块-random

概述 random是Python标准库中的一个模块,它提供了生成随机数的功能。具体来说,它包含了各种用于生成随机数的函数、类和变量。常见使用方法random():生成一个0到1之间的随机浮点数,范围是...

python中random的使用_python random函数用法

在Python中,可以使用random模块来生成随机数。random模块提供了多种生成随机数的函数和方法,下面是一些常见的用法:生成随机整数:使用random.randint(a, b)函数可以生成一...