用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影像创作大赛

  • 触景生情,于大宝重回泰达足球场感触多:无法抹去的记忆

  • 石景山古城街道开展形式多样垃圾分类宣传进社区活动

  • 东安县鹿马桥镇:多措并举筑牢森林“防火墙”

  • 浙江农商联合银行行长陈博恺任职资格获批 原行长金丽丽到龄退休

  • 聚餐、逛街、观影、旅游……赣州暑期经济持续升温

  • 共聚同心 宁夏启动第二届物流节农村寄递物流体系活动

  • 偷拍事件的背后:偷拍者可能涉嫌的罪名及处罚

  • 中华财险河北分公司高效推进涿州灾后理赔工作

  • 怎么做青菜炒菠萝?

热点图集