老师讲完random函数,自己写的,虽然和老师示例的不那么美观,智能,但是也自己想出来的,所以记录一下,代码就需要自己不断的自己练习,实战,才能提高啊!不然就像我们这些大部分靠自学的人,何时能学会。还有就是,这次听老师的,把自己的代码添加注释,所以这次把很简单的代码都写上了注释,而且很大白话,不管有没有接触过python的,我相信仔细看了,肯定能看懂。如果看完,再自己尝试着默写出来,那就是更好到了,好了进入正题:
自己写的:
__Author__ = "Zhang Peng" import random #导入random模块 code='abcdefdhigkmlnopqrstuvwxyzABCDEFDHIGKMLNOPQRSTUVWXYZ0123456789' #定义一个验证码的库,赋给变量code checkcode='' #定义一个空字符串,赋给checkcode count=0 #需要对循环进行计数,初始值设为0 while count<6: #添加一个while循环,当count小于6的时候就会一直循环 i=random.choice(code) #choice是random里面的一个方法,就是把code里面的值随机取出一个来赋给i checkcode+=i #把checkcode+i重新赋值给checkcode,每循环一次checkcode长度都会增加一位 count+=1 #把count+1赋值给count,每循环一次,count都会加1 else: #else是while循环的一个用法,就是当count不小于6的时候做什么事 pass #我这里写的是,当count不小于6就跳过这个循环 print(checkcode) #最后打印一下checkcode,这里的checkcode每运行一次都会是不同的值
结果:
M9Y7sE
自己的代码,看着最别扭的就是,自己定义的那一堆code,显得很笨重,下面看看老师给的示例(这个示例,是经过我简单加工后的,老师演示的里面只可以打印出大写字母和数字的6位验证码):
__Author__ = "Zhang Peng" import random #导入random模块 checkcode='' #定义一个空字符串,赋给checkcode for i in range(6): #这里一个for循环,是让i在range(6)中循环,每次循环取出 # 来的值,赋给i;这里range(6)=(0,1,2,3,4,5) current=random.randrange(0,6) #randrange是random中的一个方法,随机从range(0,6)中取一个数出来,赋值给current if current<2: #这里用了一个if语句,如果current小于2,做什么事 checkcode+=chr(random.randint(65,90)) #如果current等于i,randint也是random中的一个方法,chr是python中的内置函数 #意思是把数字转换成ascll码表对应的字符,65到90正好对应ascll码中的大写A到大写Z #这句函数意思是chr取出一个字母加上checkcode,重新赋值给checkcode elif current >= 2 and current < 4 : #elif,如果current大于等于2,且小于4做什么。 checkcode += chr(random.randint(97, 122)) # 其他类似于上一条,其中97到122正好对应ascll码中的小写a到小写z else: #if的用法,如果current不符合上面条件,做什么事 checkcode+=str(random.randint(0,9)) #str也是python的内置函数,就是把什么转换为字符串,这里是把0到9的任意一个整数 #取出来,加上checkcode,重新赋值给checkcode print(checkcode) #最后打印一下checkcode
运行结果:
vgW2u3
自己加过过后,感觉添加了一个elif,显的还是有些笨重,希望以后可以研究出更清晰的代码。
总结
以上就是本文关于Python实现一个简单的验证码程序的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Python编程django实现同一个ip十分钟内只能注册一次、简单了解Python中的几种函数、Python算法输出1-9数组形成的结果为100的所有运算式等,欢迎大家留言提出宝贵意见,共同交流进步。感谢朋友们对本站的支持!
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 杨千嬅《千嬅新唱金牌金曲》金牌娱乐 [WAV+CUE][985M]
- 杨钰莹《依然情深》首版[WAV+CUE][1G]
- 第五街的士高《印度激情版》3CD [WAV+CUE][2.4G]
- 三国志8重制版哪个武将智力高 三国志8重制版智力武将排行一览
- 三国志8重制版哪个武将好 三国志8重制版武将排行一览
- 三国志8重制版武将图像怎么保存 三国志8重制版武将图像设置方法
- 何方.1990-我不是那种人【林杰唱片】【WAV+CUE】
- 张惠妹.1999-妹力新世纪2CD【丰华】【WAV+CUE】
- 邓丽欣.2006-FANTASY【金牌大风】【WAV+CUE】
- 饭制《黑神话》蜘蛛四妹手办
- 《燕云十六声》回应跑路:年内公测版本完成95%
- 网友发现国内版《双城之战》第二季有删减:亲亲环节没了!
- 邓丽君2024-《漫步人生路》头版限量编号MQA-UHQCD[WAV+CUE]
- SergeProkofievplaysProkofiev[Dutton][FLAC+CUE]
- 永恒英文金曲精选4《TheBestOfEverlastingFavouritesVol.4》[WAV+CUE]