用python用户注册和短信验证码逻辑实现案例

python,用户注册,短信,验证码,逻辑,实现,案例 · 浏览次数 : 47

小编点评

**代码前分析(逻辑分析OK了才可以顺利成章的敲代码):** **1.函数调用** * `f2()` 函数调用 `f3()` 函数,并将结果输出。 * `f3()` 函数递归调用 `f2()` 函数,并输出中间结果。 **2.涉及的知识点** * 用户注册和短信验证使用字典 `d_user` 来存储用户信息和短信验证信息。 * 使用 `filter()` 过滤器校验用户是否已注册,避免重复注册。 * 使用 `random` 模块生成 6 位的随机字符串,作为短信验证码。 **3.代码板块** **1.用户注册** * 检查用户是否已注册。 * 如果未注册,生成 6 位的随机短信验证码并将其存储在 `verification` 中。 * 注册成功后,将用户名、密码和短信验证码存储在 `d_user` 中。 **2.短信验证** * 用户输入短信验证码。 * 检查 `verification` 中是否存在已注册的手机号码。 * 如果已注册,检查输入的短信验证码与存储的验证码是否匹配。 * 注册成功后,通知用户。 **4.再次调用函数** * 用户可以再次进行注册或短信验证,直到他们最终注册成功。

正文

一.写代码前分析(逻辑分析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用户注册和短信验证码逻辑实现案例

一.写代码前分析(逻辑分析OK了才可以顺利成章的敲代码): A、用户发送请求 1、注册账号(用户名不能重复)--按照需求进行判断 2、短信验证码(有效期5分钟)--对短信验证码进行保存 B、用户注册、短信验证用不同得函数封装实现 d_user={} #存放用户名和密码的数据字典 verificati

python独立脚本应用Django项目的环境

一、需求说明 一直用 Django 在开发一个网站项目,其中的注册用户和登录,都是使用Django自带的认证系统。主要是对密码的加密,在注册或者登录的时候,前端传递过来的密码,我会使用Django的set_password()方法再加密一次 经过加密后的数据库中的数据样子如下: 现在我有另外一个需求

Python:对程序做性能分析及计时统计

如果只是想简单地对整个程序做计算统计,通常使用UNIX下的time命令就足够了。由于我用的是Mac系统,和Linux系统的输出可能有不同,不过关键都是这三个时间:user: 运行用户态代码所花费的时间,也即CPU实际用于执行该进程的时间,其他进程和进程阻塞的时间不计入此数字;system: 在内核中执行系统调用(如I/O调用)所花费的CPU时间。total(Linux下应该是real):即挂钟时间

Python性能测试框架:Locust实战教程

01认识Locust Locust是一个比较容易上手的分布式用户负载测试工具。它旨在对网站(或其他系统)进行负载测试,并确定系统可以处理多少个并发用户,Locust 在英文中是 蝗虫 的意思:作者的想法是在测试期间,放一大群 蝗虫 攻击您的网站。当然事先是可以用 Locust 定义每个蝗虫(或测试用

用Python脚本迁移MongoDB数据到金仓-kingbase数据库

1、首先需要明确MongoDB与kingbase的对应关系,collection相当于table,filed相当于字段,根据这个对应关系创建表; 此次迁移的MongoDB里的数据字段是:_id(自动生成的objectid),image(转成二进制存储的文档) 所以在金仓里创建表 create tab

用python字典统计CSV数据

1.用python字典统计CSV数据的步骤和代码示例 为了使用Python字典来统计CSV数据,我们可以使用内置的csv模块来读取CSV文件,并使用字典来存储统计信息。以下是一个详细的步骤和完整的代码示例: 1.1步骤 (1)导入csv模块。 (2)打开CSV文件并读取数据。 (3)初始化一个空字典

用 Python 脚本实现电脑唤醒后自动拍照 截屏并发邮件通知

背景 背景是这样的, 我的家里台式机常年 休眠, 并配置了 Wake On Lan (WOL) 方便远程唤醒并使用. 但是我发现, 偶尔台式机会被其他情况唤醒, 这时候我并不知道, 结果白白运行了好几天, 浪费了很多电. 所以我的需求是这样的: 🤔 电脑唤醒后(可能是开机, 有可能是从休眠状态唤醒

Python使用socket的UDP协议实现FTP文件服务

用Python的socket,使用UDP协议实现一个FTP服务端、FTP客户端,用来实现文件的传输。在公司内网下,可以不适用U盘的情况下,纯粹使用网络,来实现文件服务器的搭建,进而实现文件的网络传输。同时用来理解Python的socket使用。

如何用python计算不定积分

本文详细介绍了如何用Python计算不定积分的方法,重点SymPy是一个用于符号数学的Python库,支持许多类型的数学对象,包括整数、有理数、实数、复数、函数、极限、积分、微分、方程、几何等,同时本文也介绍了多项式函数、指数函数和三角函数、换元积分、有理函数的不定积分的方法。

告别Word,用Python打造你的专业简历!

今天给大家介绍下一个在纯 python 中构建简历的实用工具,工具的连接地址https://github.com/koek67/resume-builder/blob/main/readme.md 用法介绍 要求 Python 3.7 或更高版本(仅此而已!) 安装 整个库是一个单独的 python