zoukankan      html  css  js  c++  java
  • 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("
    ","").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("
    ", ""))
    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+"
    ")
            fo.close()
        else :
            #输入三次用户名称或口令都不正确,退出登录
            print("输入3次都不正确,再见!")
  • 相关阅读:
    PTA 7-6 列出连通集(深搜+广搜)
    TZOJ 2648 小希的迷宫(并查集)
    HDU 3342 Legal or Not(拓扑排序)
    哈夫曼树
    mst
    [THUWC2017]随机二分图
    视察
    [bzoj3274]Circle
    [bzoj3273]liars
    求导相关
  • 原文地址:https://www.cnblogs.com/ccskun/p/6640782.html
Copyright © 2011-2022 走看看