用python用户注册和短信验证码逻辑实现案例
发布日期: 2023-08-11 20:15:38 来源: 博客园
(资料图)
一.写代码前分析(逻辑分析OK了才可以顺利成章的敲代码):A、用户发送请求 1、注册账号(用户名不能重复)--按照需求进行判断 2、短信验证码(有效期5分钟)--对短信验证码进行保存 B、用户注册、短信验证用不同得函数封装实现
d_user={} #存放用户名和密码的数据字典 verification={} #存放短信验证码--手机号为键,验证码为值
二.涉及的知识点1.函数调用
def f2(): print(123) def f3(): f2() print("........") f3()
运行截图:
2.print(random.randint(0,9)) #生成随机数
3.使用filter()过滤器校验用户是否已注册
# 校验用户是否已经注册 def f(o): if o==user: # 重复 return o # 返回相同的对象 if list(filter(f,d_user)): # 重复 print("用户名已注册!!!")
三.代码板块
1.初版
d_user={} # 用户信息数据库verification={} # 存放短信验证信息 手机号为键 验证码为值def register(user,password,mobile): # 校验用户是否已经注册 def f(o): if o==user: # 重复 return o # 返回相同的对象 if list(filter(f,d_user)): # 重复 print("用户名已注册!!!") else: # 可以注册,先生成6位长度的短信验证码 sms_num=[] for i in range(6): # 循环6次 sms_num.append(str(random.randint(0,9))) print(sms_num) s="".join(sms_num) # 字符串拼接 # 添加---保存验证码信息 (手机号为键,短信验证码为值) verification[mobile]=s print("验证码为:%s"%s) # 告诉用户短信验证码 sms_code=input("请输入短信验证码:") # 判断所输入的验证码是否真 if verification[mobile]==sms_code: # 注册成功 保存用户名、密码 d_user[user]=password print("注册成功!!!") else: print("短信验证码输入错误重新输入!!!") # 若输入错误我们需要改短信验证码,程序又要回到再次验证,所以写一个验证码方法直接调用即可while True: user=input("请输入用户名:") password=input("请输入密码:") mobile=input("请输入手机号:") register(user, password, mobile)
运行截图:
2.终版,增加验证码方法
d_user={} # 用户信息数据库verification={} # 存放短信验证信息 手机号为键 验证码为值def short_ver(user,password,mobile): sms_code=input("请输入短信验证码") # 判断所输入的验证码是否真 if verification[mobile]==sms_code: # 注册成功 --保存用户名、密码 d_user[user]=password print("注册成功!!!") else: print("短信验证码输入错误重新输入!!!") # 我们直接改短信验证码 short_ver(user,password,mobile) # 再次调用def register(user,password,mobile): # 校验用户是否已经注册 def f(o): if o==user: # 重复 return o # 返回相同的对象 if list(filter(f,d_user)): # 重复 print("用户名已注册!!!") else: # 可以注册,先生成6位长度的短信验证码 sms_num=[] for i in range(6): # 循环6次 sms_num.append(str(random.randint(0,9))) print(sms_num) s="".join(sms_num) # 字符串拼接 # 添加---保存验证码信息 verification[mobile]=s print("验证码为:%s"%s) # 告诉用户短信验证码 short_ver(user,password,mobile)while True: user=input("请输入用户名:") password=input("请输入密码:") mobile=input("请输入手机号:") register(user, password, mobile)
运行截图:
关键词:
相关文章
-
用python用户注册和短信验证码逻辑实现案例
-
16醇(棕榈醇)商品报价动态(2023-08-11)
-
财政部、应急管理部再次紧急预拨14.6亿元中央自然灾害救灾资金
-
国网衡东县供电公司:“纪检+服务”把好群众满意用电第一关
-
作为好经验好做法向全国推广 江宁两实践入选全国乡村地名建设案
-
基金增减仓丨中原传媒:神爱前的平安策略新进前十大流通股东
-
收到现金股利会计分录怎么写?
-
最高立减3.7万 极氪001推限时优惠政策
-
红河州河口县总工会:打造职工特色服务阵地建设新模式
-
N科净源今日涨113.33% 四机构净卖出5020.66万元
-
P&I展会现场Lexar雷克沙发布四款新品以及记忆之城·2023影像创作大赛
-
触景生情,于大宝重回泰达足球场感触多:无法抹去的记忆
-
石景山古城街道开展形式多样垃圾分类宣传进社区活动
-
东安县鹿马桥镇:多措并举筑牢森林“防火墙”
-
浙江农商联合银行行长陈博恺任职资格获批 原行长金丽丽到龄退休
-
聚餐、逛街、观影、旅游……赣州暑期经济持续升温
-
共聚同心 宁夏启动第二届物流节农村寄递物流体系活动
-
偷拍事件的背后:偷拍者可能涉嫌的罪名及处罚
-
中华财险河北分公司高效推进涿州灾后理赔工作
-
怎么做青菜炒菠萝?
热点图集
投资要闻
-
1聚餐、逛街、观影、旅游……赣州暑期经济持续升温
-
2终于下树!罗马诺:凯恩加盟拜仁 转会费总价1.2亿欧 签至2027年
-
3铜川全面提高孤儿最低养育和事实无人抚养儿童基本生活补贴标准
-
4(体育)中国跳水“梦之队”全员军训 冲刺备战杭州亚运会
-
5“线上+线下”模式!启迪之星(枣庄)提供“一站式”人才支持服务
-
6上半年机械工业增加值同比增长9.7%(新数据 新看点)
-
7个性签名图案复制 个性签名图案
-
8683亿寒武纪明星子公司裁员,联想、蔚来都赌错了?
-
9记得带伞!河北今天多地迎大到暴雨+局地大暴雨!最新出行信息→
-
10力勤资源(02245)附属KPS已与宁波力华订立设备采购协议