首页 > 其他分享 >random模块

random模块

时间:2023-12-19 19:13:32浏览次数:32  
标签:code randint random list 随机 模块 print

random模块

(一)导入模块

import random

(二)随机小数

  • 默认区间的小数 random.random()默认为0-1直接
  • 指定区间的小数 random.uniform()可以指定起始结束参数

(1)默认区间的小数

  • random.random
#随机生成默认区间内的小数
print(random.random())#0.6827460153816446

(2)指定区间的小数

  • random.uniform
#随机生成指定区间内的小数
print(random.uniform(1,5))#4.353333789384505

(三)随机整数

  • random.randint() 随机区间整数
  • random.randrange() 随机区间奇偶数

(1)随机区间整数

  • random.randint
#随机区间整数
print(random.randint(1,5))

(2)随机区间奇偶数

  • random.randrange
#随机区间奇偶数
#起始,结束,步长
#奇数
print(random.randrange(1,10,2))#9
#偶数
print(random.randrange(2,10,2))#2

(四)随机选择返回

  • choice()随机返回一个
  • sample()随机指定个数

(1)随机返回一个

  • choice
#随机返回一个
list=[1,2,3,4,5]
print(random.choice(list))

(2)随机指定个数

  • sample
    • 以列表的形式返回三个
#随机指定个数
list=[1,2,3,4,5]
print(random.sample(list,3))#[2, 3, 5]

(五)打乱顺序

  • random.shuffle
#打乱顺序
list=[1,3,5,7,8,6,4,2]
random.shuffle(list)#[4, 8, 7, 6, 1, 2, 5, 3]
print(list)

(六)练习

(1)随机生成四位数验证码

def code(x):
    code=''
    for i in range(x):
        list=[str(random.randint(0,9)),chr(random.randint(65,90)),chr(random.randint(97,122))]
        code+=random.choice(list)
    return code

print(code(4))#o9Gj

(2)随机生成六位数验证码登录验证

def code(x):
    code=''
    for i in range(x):
        list=[str(random.randint(0,9)),chr(random.randint(65,90)),chr(random.randint(97,122))]
        code+=random.choice(list)
    return code

def login():
    random_code=code(6)
    username=input('请输入用户名:').strip()
    password=input('请输入用户名:').strip()
    print(random_code)
    randomcode=input('请输入验证码:').strip()
    if randomcode!=random_code:
        print("验证码错误!")
    else:
        if username=='syh' and password=='123':
            print("登录成功!")
login()
# 请输入用户名:syh
# 请输入用户名:123
# 6WBa83
# 请输入验证码:6WBa83
# 登录成功!

(3)随机生成六位数验证登录验证+大小写验证

def code(x):
    code=''
    for i in range(x):
        list=[str(random.randint(0,9)),chr(random.randint(65,90)),chr(random.randint(97,122))]
        code+=random.choice(list)
    return code

def login():
    random_code=code(6)
    username=input('请输入用户名:').strip()
    password=input('请输入用户名:').strip()
    print(random_code)
    randomcode=input('请输入验证码:').strip()
    #将验证码的字母改变大小写方式全大写:upper()  全小写lower()
    if randomcode.upper()!=random_code.upper():
        print("验证码错误!")
    else:
        if username=='syh' and password=='123':
            print("登录成功!")
login()
# 请输入用户名:syh
# 请输入用户名:123
# sUCpR9
# 请输入验证码:SUCPR9
# 登录成功!

标签:code,randint,random,list,随机,模块,print
From: https://www.cnblogs.com/suyihang/p/17914478.html

相关文章

  • time模块
    time模块表示时间的三种方式时间戳元组(struct_time)格式化的时间字符串:格式化的时间字符串(FormatString):‘1999-12-06’(1)导入模块importtime(2)时间戳(time)(1)生成时间戳生成时间戳,时间戳是浮点数类型##时间戳##time=time.time()##print(time)......
  • python中导入模块/包的几种方式
    一、模块的导入方式模块就是.py类型的Python文件导入时不需要.py后缀,直接导入文件名即可1.利用import直接导入:语法:importmodule_name使用方式:module_name.class_name或者module.func_name2.利用import导入模块并设置一个别名语法:importmodule_nameasXXX使用方式:XXX.cl......
  • 理解ROS2的坐标转换模块tf2
    0概述tf2是ROS的核心库之一,它记录了所有坐标系的转换关系,包括动态坐标转换tf,和静态坐标转换tf_static;首先,介绍tf2库(即,geometry2)编译/调试环境的搭建步骤;然后,介绍部分的类图结构,和调用时序;1搭建ROS2的编译环境参考:http://docs.ros.org/en/iron/Installation/Ubuntu-Install-D......
  • Numpy模块
    Numpy模块的核心就是基于数组的运算,相比于列表和其他数据结构,数组的运算效率是最高的。常用的数学函数np.pi常数pnp.e常数enp.fabs(arr)  例如:np.fabs(-3) 计算各元素的浮点型绝对值np.ceil(arr) 例如:np.ceil(3.2)对元素向上取整np.floor(arr) 类似ceil 向下取整对......
  • DC电源模块的安装和使用步骤是什么?
    DC电源模块的安装和使用步骤是什么?安装和使用DC电源模块的步骤如下:确定模块的电源需求:查阅模块的规格和说明书,确定所需的输入电压范围和输出电流能力。配置电源线:根据电源模块的输入要求,选择合适的电源线。确保电源线具备足够的额定电流和正确的接线方式。连接电源线:将电源线的一......
  • BOSHIDA DC电源模块的安装和使用步骤是什么?
    BOSHIDADC电源模块的安装和使用步骤是什么?安装和使用DC电源模块的步骤如下: 1.确定模块的电源需求:查阅模块的规格和说明书,确定所需的输入电压范围和输出电流能力。2.配置电源线:根据电源模块的输入要求,选择合适的电源线。确保电源线具备足够的额定电流和正确的接线方式。3......
  • Git:submodule子模块操作
    一、子模块添加gitsubmoduleadd<url><path>gitsubmoduleaddhttps://github.com/../.gitthemes/MeiFixIt二、子模块更新gitsubmoduleupdate--remote--merge三、下载子模块同父模块一起下载子模块gitclone--recurse-submodules<repository-url>父模块......
  • 【GD32307E-START】06 ST7735 SPI-LCD显示模块移植
    软硬件平台GD32F307E-STARTBoard开发板GCCMakefile1.8寸TFTLCD分辨率128*160驱动ICST7735S接口定义序号引脚标号说明1GND接地2VCC5V/3.3V电源输入3SCKSPI总线时钟信号4SDASPI总线写数据信号5RESET液晶屏复位信号,低电平复位6DC......
  • Python实现模块热加载
    为什么需要热加载在某些情况,你可能不希望关闭Python进程并重新打开,或者你无法重新启动Python,这时候就需要实现实时修改代码实时生效,而不用重新启动Python在我的需求下,这个功能非常重要,我将Python注入到了其他进程,并作为一个线程运行。如果我想关闭Python,要么杀死Python相关的线程......
  • ABP模块的测试项目从默认的Microsoft SQL Server替换成MySQL
    1、替换项目引用2、重新生成解决方案3、删除Migrations4、模块的引用替换成:AbpEntityFrameworkCoreMySQLModule5、命名空间替换成:Volo.Abp.EntityFrameworkCore.MySQL;6、ConfigureServices中的修改替换成:UseMySQL();7、DbContext中的修改替换成:UseMySql(configuration.GetConnect......