您的位置:首页 > 编程语言 > Python开发

1_python小程序之实现用户的注册登陆验证功能

2017-10-15 20:28 1211 查看

python小程序之实现用户的注册登陆验证功能

 

程序扼要简述: 

一、程序流程:
1.程序开始
2.判断本地文件/数据库是否已存在用户信息,存在则跳转到登陆,否则跳转到注册,注册成功后后跳转到登陆
3.判断登陆是否成功,成功则返回成功信息,否则重复尝试登陆3次,最后登录不成功则锁定15秒
4.程序结束

二、程序使用的知识点:
1.本地文件的存储读取
2.对字典的操作
3.if条件判断
4.for/while循环

三、流程思路图:

 

四、代码详细:

#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# author='chenjianwen'
##实现用户的注册登陆验证功能

import getpass
import os,sys,time

##红色
def print_red(messages):
print('\033[1;35m %s \033[0m' %messages)
##绿色
def print_green(messages):
print('\033[1;32m %s \033[0m' %messages)

##定义空字典
userinfo = []
un = []
pas = []
##判断存储用户信息文件是否存在,不存在则创建
if not os.path.exists('./userinfo.txt'):
f = open("./userinfo.txt",mode="w",encoding="UTF-8")
f.close()

##读取存储用户信息文件,并把用户信息写入字典
save_userinfo_file = open('./userinfo.txt','r')
for line in save_userinfo_file.readlines():
line =line.strip()
if not len(line) or line.startswith('#'):
continue
#print(line)
username = line.split(' ')[0]
password = line.split(' ')[1]
phone_number = line.split(' ')[2]
#print('==========================')
#print(username,password,phone_number)
#userinfo.append({'username':'%s' %username,'password':'%s' %password,'phon_number':'%s' %phone_number})
un.append(username)
pas.append(password)
#print(userinfo)

count = 0
while True:
if count < 3:
count +=1
select_info = input("你是否有注册过账号了? Please select Y/N:")
##用户注册信息
if select_info == 'N' or select_info == 'n':
print("开始注册用户信息:")
username = input("Please enter your username:")
password = getpass.getpass("Please enter your password:")
phone_number = input("Please enter your phon_number:")
#userinfo.append({'username':'%s' %username,'password':'%s' %password,'phon_number':'%s' %phone_number})
un.append(username)
pas.append(password)
#print(userinfo)
with open('./userinfo.txt','a') as fw:
fw.writelines('\n%s %s %s' %(username,password,phone_number))
#print(userinfo)
##用户登陆验证信息
elif select_info == 'Y' or select_info == 'y':
#print(userinfo)
print("开始登录验证信息:")
username = input("Please enter your username:")
password = getpass.getpass("Please enter your password:")

if username in un and password in pas:       ##【优化1次】用户与密码验证方法有待优化,目前能够用户密码错位登录,只要列表中分别有输入的对应的字段就可以登录
print_green("welcom login {_username}".format(_username=username))
break
else:
print_red('Check fail...Check again...')
print_red("您还有%s次登录机会" % (3 - count))
continue
else:
print_red("您输入的内容错误! Please enter again...")
continue
else:
print_red("重复登陆多次失败,请15分钟后再尝试登陆...")
time.sleep(15)
count = 0
continue

五、执行结果

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐