用python用户注册和短信验证码逻辑实现案例
一.写代码前分析(逻辑分析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用户注册和短信验证码逻辑实现案例的更多相关文章
- python 实现发送短信验证码
[说明]短信接口使用的是“聚合数据”上面的接口. 那么在使用接口前,需要在聚合数据上面注册,进行申请接口.当然在正式使用之前,我们可以使用申请免得的进行测试. 一.申请成功后,需做的准备工作如下: 1 ...
- python点击短信验证码
代码如下 : import requestsimport time# 手机号码tel=1381380000# 请求地址url="http://192.168.100.101:8080/api ...
- python 自动获取手机短信验证码
需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到): /***** ...... try {long tim ...
- day101:MoFang:模型构造器ModelSchema&注册功能之手机号唯一验证/保存用户注册信息/发送短信验证码
目录 1.模型构造器:ModelSchema 1.SQLAlchemySchema 2.SQLAlchemyAutoSchema 2.注册功能基本实现 1.关于手机号码的唯一性验证 2.保存用户注册信 ...
- python实战===短信验证码的小项目
项目地址 https://www.shiyanlou.com/courses/609/labs/2007/document flask的中文文档 http://docs.jinkan.org/docs ...
- python+pymssql+selenium 获取短信验证码登录(实战练习)
登录页面输入手机号, 获取短信验证码(验证码有10分钟有效期) 1 连接sql server数据库,获取10分钟之内的有效短信验证码 2 页面输入手机号,并获取验证码.若存在有效验证码则输入验证码,若 ...
- Android Studio精彩案例(五)《JSMS短信验证码功能实现》
转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 很多应用刚打开的时候,让我们输入手机号,通过短信验证码来登录该应用.那么,这个场景是怎么实现的呢?其实是很多开放平台提供了短信验证功能 ...
- 【安全测试】如何利用短信验证码BUG浪费公司的钱
一.背景 公司新产品体验,发现不少交互.UI.功能设计上的小问题.于是花了点时间随意挑了几个功能深入的玩了一下,顺手提了BUG.接口层,看了一下接口文档,简单测了一下接口,BUG其实还挺严重的,后面详 ...
- Django商城项目笔记No.5用户部分-注册接口-短信验证码
Django商城项目笔记No.4用户部分-注册接口-短信验证码 短信验证码也保存在redis里(sms_code_15101234567) 在views中新增SMSCodeView类视图,并且写出步骤 ...
- day102:MoFang:后端完成对短信验证码的校验&基于celery完成异步短信发送&flask_jwt_extended&用户登录的API接口
目录 1.用户注册 1.后端完成对短信验证码的校验 2.基于celery实现短信异步发送 2.用户登录 1.jwt登录验证:flask_jwt_extended 2.服务端提供用户登录的API接口 1 ...
随机推荐
- 2022-05-20:给定一个正数数组arr,长度为N,依次代表N个任务的难度,给定一个正数k, 你只能从0任务开始,依次处理到N-1号任务结束,就是一定要从左往右处理任务, 只不过,难度差距绝对值不
2022-05-20:给定一个正数数组arr,长度为N,依次代表N个任务的难度,给定一个正数k, 你只能从0任务开始,依次处理到N-1号任务结束,就是一定要从左往右处理任务, 只不过,难度差距绝对值不 ...
- 2021-04-18:给定一个二维数组matrix,里面的值不是1就是0,上、下、左、右相邻的1认为是一片岛,返回matrix中岛的数量。
2021-04-18:给定一个二维数组matrix,里面的值不是1就是0,上.下.左.右相邻的1认为是一片岛,返回matrix中岛的数量. 福大大 答案2021-04-18: 并查集. 代码用gola ...
- c3p0的配置及简单应用
首先简单了解一下JDBC和c3p0 Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸 ...
- LLM探索:环境搭建与模型本地部署
前言 最近一直在炼丹(搞AIGC这块),突然发现业务代码都索然无味了- 上次发了篇AI画图的文章,ChatGPT虽然没法自己部署,但现在开源的LLM还是不少的,只要有一块差不多的显卡,要搞个LLM本地 ...
- 天下苦 Spring 久矣,Solon v2.2.20 发布
Solon 是什么框架? 一个,Java 新的生态型应用开发框架.它从零开始构建,有自己的标准规范与开放生态.与其他框架相比,它解决了两个重要的痛点:启动慢,费资源. 解决痛点? 由于Solon Be ...
- Flutter热更新技术探索
一,需求背景: APP发布到市场后,难免会遇到严重的BUG阻碍用户使用,因此有在不发布新版本APP的情况下使用热更新技术立即修复BUG需求.原生APP(例如:Android & IOS)的热更 ...
- FreeSWITCH添加自定义endpoint
操作系统 :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 日常开发过程中会遇到需要扩展FreeSWITCH对接其它系统的情况,这里记录下编写FreeSWITCH ...
- CANoe学习笔记(一):创建第一个仿真工程(基于CAN):点灯
目录 内容: ①创建两个节点,Switch和Light节点 ②创建两个Panel界面 ③capl代码实现Switch控制Light亮灭 事先准备: 养成良好的习惯,将不同文件放入不同文件夹,创建如下几 ...
- Nginx SSL 双向认证
安装Nginx和OpenSSL yum install nginx openssl -y SSL 服务器 / 客户端双向验证证书的生成 创建一个新的 CA 根证书,在 nginx 安装目录下新建 ca ...
- 技术选型|K歌App中的实时合唱如何进行选型
摘要 在线K歌软件的开发有许多技术难点,需考虑到音频录制和处理.实时音频传输和同步.音频压缩和解压缩.设备兼容性问题等技术难点外,此外,开发者还应关注音乐版权问题,确保开发的应用合规合法. 前言 前面 ...