python day 1 homework 1

作业一要求:

1 输入用户名密码

2 认证成功后显示欢迎信息

3 输错三次后锁定

import os

#生成保存用户信息的字典
d_userinfo = {}
#保存用户登录字典
input_login_username = {}
#保存锁定用户列表
lock_user = []

#从userinfo中获取用户登录信息:用户名称、口令
userinfo_file = open("userinfo", "r")
#将用户信息添加到d_userinfo字典中
for line in userinfo_file.readlines():
    _userinfo = line.replace("\n","").split("|");
    #将用户添加到字典中
    d_userinfo.update({_userinfo[0]:_userinfo[1]})
#关闭文件
userinfo_file.close()

#获取锁定用户
lockinfo = open("lockinfo", "r")
#将锁定用户添加到锁定列表中
for line in lockinfo.readlines():
    lock_user.append(line.replace("\n", ""))
lockinfo.close()

#用户开始登录
input_count = 0
i_username = ""
while input_count < 3:
    input_count += 1
    i_username = input("Please enter your name:")
    i_passowrd = input("Please enter you password:")
    #判断用户输入是否为空
    if len(i_username) == 0 :
        print("用户名称不能为空,请输入用户名称!")
        continue
    #判断用户是否已锁定
    if i_username in lock_user:
        print("用户已锁定!")
        break
    #先判断用户字典表中是否有该用户
    if d_userinfo.get(i_username):
        #判断用户口令是否一致
        if i_passowrd==d_userinfo.get(i_username):
            print("Hello {name}!".format(name=i_username))
            break
        else :
            #说明用户输入的用户名称正确,但口令不对
            print("用户口令错误!")
    else :
        #说明用户输入的用户名称不正确
        print("用户名称或口令输入错误!")

    #将登录输入的用户名称保存到输入登录用户字典中
    input_login_username.setdefault(i_username, i_username)
else :
    if len(input_login_username) == 1 :
        # 锁定用户
        print("锁定用户")
        #"a"表示追加方式写
        fo = open("lockinfo", "a")
        fo.write(i_username+"\n")
        fo.close()
    else :
        #输入三次用户名称或口令都不正确,退出登录
        print("输入3次都不正确,再见!")

 

posted @ 2017-03-29 17:23  ccskun  阅读(220)  评论(0编辑  收藏  举报