Python程序开发基础 课件 任务1 随机生成验证码_第1页
Python程序开发基础 课件 任务1 随机生成验证码_第2页
Python程序开发基础 课件 任务1 随机生成验证码_第3页
Python程序开发基础 课件 任务1 随机生成验证码_第4页
Python程序开发基础 课件 任务1 随机生成验证码_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

random库——随机生成验证码任务描述

很多网站的注册登录业务都加入了验证码技术,以区分用户是人还是计算机,有效地防止刷票、论坛灌水、恶意注册等行为。目前验证码的种类层出不穷,其生成方式也越来越复杂,常见的验证码是由大写字母、小写字母、数字组成的6位验证码。

本任务要求编写程序,实现随机生成6位验证码的功能。

01库与模块、包的关系02库的导入04任务实现random内置库03库与模块、包的关系01

库与模块、包的关系

Python中模块有内置模块、第三方模块和自定义模块三种类型。

模块、包和库是Python组织代码的三种方式。其中,模块是最基础的代码组织方式,Python中的每个扩展名为py的文件都是一个模块,文件名就是模块名。包以类似目录的结构组织模块文件或子包,简单来说,一个包含__init__.py文件的目录就是一个包。包中必有__init__.py文件,可以有多个模块或子包。库是一个抽象概念,它是指具有相关功能的模块的集合。

库与模块、包的关系

内置模块是指Python安装时自带的模块,可直接导入程序供开发人员使用,譬如random模块就属于内置模块。

第三方模块指由第三方制作发布的、供给大家使用的Python模块,在使用前需要开发人员自行安装。

而自定义模块是指开发人员在编写程序的过程中自行编写的、存放功能性代码的.py文件。库的导入02

库的导入在使用库中定义的内容之前,需先将库导入到当前程序。Python使用import关键字导入库,其语法格式如下:库导入后,可通过点字符“.”调用库中的内容,其语法格式如下:库.函数库.变量import库1,库2,…

库与模块、包的关系通过点字符调用库中的内容可避免多个库中存在同名函数时代码产生歧义,但若不存在同名函数,可使用from…import…语句直接将库的指定内容导入程序,并在程序中直接使用库中的内容。frompygameimportinitinit()

库与模块、包的关系使用from…import…语句也可将指定库的全部内容导入当前程序,此时可使用“*”指代库中的全部内容。虽然from…import*可以方便地导入一个库中的所有内容,但考虑到代码的可维护性,此种方式不应被过多地使用。frompygameimport*random内置模块03random库是Python的内置库,导入该库后,可利用库中的函数生成随机数据,其常用函数如表所示。

random内置模块random库中常用函数函数说明random()返回(0,1]之间的随机小数。randint(x,y)返回[x,y]之间的整数。choice(seq)从序列seq中随机返回一个元素。由表可知,random()可生成(0,1]之间的随机小数;randint(x,y)可生成[x,y]之间的随机整数;choice(seq)可从序列seq中随机返回一个元素。有关random库的应用,有一个经典的案例,就是随机生成旅游信息。

random内置模块

想要出去旅游,但时间还没有确定,需要在10号~19号之间挑选一个日期作为出游时间,同时在北京、云南、浙江、海南、四川中挑选一个出游的地方。

实例本实例拟采用random库的来完成,其代码如下:importrandomprint("旅游的时间为:",end='')print(random.randint(10,19),"号",sep='')place=['北京','云南','浙江','海南','四川']print("出游的地方是:",end='')print(random.choice(place))任务实现——随机生成验证码04

随机生成验证码

根据题意,6位验证码是由6个字符组成,每个字符都是随机字符,要实现随机字符的功能需要用到随机数random库。具体思路是先导入random模块;然后创建一个空字符串code_list用来存放生成的验证码;最后生成6个随机字符逐个拼接到code_list后面。这最后一步是生成验证码的核心。为确保每次生成的字符类型只能为大写字母、小写字母、数字的任意一种,我们使用1、2、3分别代表生成大写字母、生成小写字母、生成数字。同时,为确保每次生成的是所选类型中的字符,需要按类型给随机数函数指定范围,数字对应的范围为0~9,大写字母对应的范围为65~90,小写字母对应范围为97~122。

判断是否是闰年#随机生成验证码importrandomdefverify_code():code_list=''foriinrange(6):#控制验证码生成的位数state=random.randint(1,3)ifstate==1:first_kind=random.randint(65,90)#大写字母random_uppercase=chr(first_kind)code_list=code_list+random_uppercaseelifstate==2:second_kinds=random.randint(97,122)#小写字母random_lowercase=chr(second_kinds)code_list=code_list+random_lowercaseelifstate==3:third_kinds=random.randint(0,9)#阿拉伯数字code_list=code_list+str(third_kinds)returncode_listif__name__=='__main__':verifycode=verify_code()print(verifycode)

代码如下:任务总结模块、包和库是Python组织代码的三种方式。其中,模块是最基础的代码组织方式,Python中的每个扩展名为py的文件都是一个模块,文件名就是模块名。包以类似目录的结构组织模块文件或子包,简单来说,一个包含__init__.py文件的目录就是一个包。包中必有__init__.p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论