zoukankan      html  css  js  c++  java
  • python学习之路-练习小程序02(模拟用户登录)

    需求:模拟用户登录,登录成功提示正确信息,退出程序,登录失败,提示错误的信息,允许登录三次,把登录失败的用户信息写入文件

    def loginerror(username):  #封装写入文件函数
        with open("logerror.txt", 'a', encoding='utf-8') as f:
            usernameerror = ''.join(["无法登陆的用户名:", username])  #将用户名和提示信息拼接
            f.write(usernameerror.strip() + '
    ')
    
    errorname = []  #创建一个空列表,用来添加无法登陆的用户名
    errorcount = 0  #用来记录无法登陆的次数
    n = 3
    while 0 < n:  #限制错误登陆次数
        username = input("请输入用户名:")
        password = input("请输入密码:")
        with open("login",'r') as f:  #使用此方式打开,无需执行close关闭程序
            for i in f.readlines():
                user, psd = i.strip().split()  #去掉读取文件内容两边的空格并用空格拆分,分别赋值给user和psd
    
        if username  == user and password == psd:
            print("登陆成功")
            break  #登陆成功就跳出循环
    
        elif username != user or password != psd:
            print("用户名或密码错误,请重新输入")
            loginerror(username)  #通过调用写入文件函数把无法登陆的用户名信息写入错误文件中记录
            errorname.append(username)  #将无法登陆的用户名添加到列表里
            errorcount += 1 #无法登陆的次数加1
            if errorcount >= 1: #从第二次开始判断无法登陆的用户
                if username == errorname[0]: #判断第一次登陆以后再次无法登陆的用户是否和第一次无法登陆的用户一样
                    n -= 1
        if n == 0:
            print("登陆错误已超过3次,无法再次登陆")
  • 相关阅读:
    事件处理器(eventhandler,或称为事件处理程序)onload
    HTML语言中img标签的alt属性和title属性的作用于区别
    nexus 开机自启动
    idea 上传jar包到nexus
    Spark standalone HA
    spark 性能优化指南
    spark 体验点滴- executor 数量 和task 并行数
    spark 体验点滴-client 与 cluster 部署
    aop concepts
    部署jar到linux ,开机自启动
  • 原文地址:https://www.cnblogs.com/zengwenhai/p/8795144.html
Copyright © 2011-2022 走看看