Python练习-登陆

README

脚本:login.py

作者:super

目的:学习练习,共同研究进步!

功能:

1、输入用户名密码

2、认证成功打印欢迎信息

3、错误三次锁定用户

使用:

另外需要一个用户数据库user.txt,内容格式:USERNAME;PASSWORD,一行一个用户

Windows环境下,执行脚本C:\> python login.py


伪代码

执行脚本,将数据库信息传入内存,生成{'USER:PASSWD'}字典

提示输入用户名

    判断该用户是否存在,若不存在则提示重新输入,三次错误结束脚本

        存在,则判断该用户是否被锁定,若锁定,则打印提示信息,结束脚本

            未被锁定,则下一步

提示输入密码

    判断密码是否和用户名匹配,若不匹配则提示重新输入,三次错误,锁定用户,结束脚本

        匹配,则打印欢迎信息,结束脚本


代码

# -*- coding:utf-8 -*-
# Login
import os
import sys
info_list = []
user_file = file('T:\Python\src\ex1\user.txt', 'r')
for ele in user_file.readlines():
    user_info = ele.strip()
    info_list.append(user_info.split(';'))
user_dict = dict(info_list)
user_file.close()
for i in range(3):
    user_name = raw_input('Please input username:')
    if user_name not in user_dict.keys():
          print "%s do not exist! Please input again!" % user_name
          continue
    if os.path.exists('T:\Python\src\ex1\%s.lock' % user_name):
        print '%s is locked! Please connect admin!' % user_name
        sys.exit()
    j = 0
    title = 2
    while j < title:
        passwd = raw_input('Please input your password: ')
        if passwd != user_dict[user_name]:
            print "Wrong! Please input again! \
            You still have %d choice to try" % (title - j - 1)
            j += 1
            continue
        else:
            print "Login! Welcone to our home,%s!" % user_name
            sys.exit()
    else:
        print "Try to much! %s has been locled!" % user_name
        lock_file = file("T:\Python\src\ex1\%s.lock" % user_name, "w")
        lock_file.close()
        sys.exit()
else:
    print "Try too much!Please try later!"
    sys.exit()


你可能感兴趣的:(python,练习)