一.写代码前分析(逻辑分析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)
运行截图:
手机扫一扫
移动阅读更方便
你可能感兴趣的文章