建一个数据库(列表类型),把用户名和手机号存到里面,通过用户输入的用户名和手机号后四位,与库中进行匹配,匹配成功则验证成功。
import numpy as np
import pandas as pd
#手机号确认
database=list([['aaa','18111119999'],
['bbb','15630241111'],
['ccc','15646842222']]) ##建一个用于存用户账号密码的库
inname=input('请输入用户名:') #用户名输入
def checkusername(): #检查用户名是否存在
global num,ifhave
num=0
for i in range(0,len(database)): #在database中遍历如果输入的名字在库
if inname == database[i][0]: #中,返回True,num,结束函数
ifhave=True
return ifhave
else:
ifhave=False
num=num+1
return num,ifhave #num记录当前遍历的位置,方便下面取手机号
checkusername()
def checkusernumber(): #手机号检查,如果用户名为Flase直接退出程序
if ifhave == False:
return print('用户名不存在')
if ifhave == True:
print('用户名存在') #用户名存在,根据num取列表中手机号前7位
nser_num=database[num][1][0:7]
inendnum=input('请输入手机号后四位:')#用户输入后四位,与前七位进行拼接,检查手机号是否相同
user_num=nser_num+('{last_num}')
user_num=user_num.format(last_num=inendnum)
if[inname,user_num] in database:
print('验证成功!')
else:
print('手机号错误')
checkusernumber()
测试结果:
当然,检测到用户名不存在时也可以做一个注册方法,把用户的用户名和手机号存到库中。