zoukankan      html  css  js  c++  java
  • Python开发【程序】:登录认证程序

     1 # 作业题目: 编写登陆认证程序
     2 # 作业需求:
     3 # 基础需求:
     4 # 让用户输入用户名密码
     5 # 认证成功后显示欢迎信息
     6 # 输错三次后退出程序
     7 #
     8 # 升级需求:
     9 # 可以支持多个用户登录 (提示,通过列表存多个账户信息)
    10 # 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
    11 
    12 #需要优化的点和不足的地方:
    13 #1.当输入的用户名不在列表中的操作
    14 #2.根据需求写到哪是哪,没有一个清晰地思路,代码会有很多bug,还有许多未知的需要完善的地方,就是一个字:low
    15 
    16 #low版本:
    17 
    18 user= [['mm','123'],['tt','456'],['MM','789']]
    19 count = 0
    20 error_count = 0 #错误输入计数初始化
    21 
    22 while count < 3:
    23     user_name = input("请输入用户名:").strip()  #strip()去除空格
    24     pass_word = input("请输入密码:").strip()
    25 
    26     f = open(file = "用户登录状态文件.txt",mode ='r',encoding="utf-8")
    27     data = f.read()
    28     if user_name in data:    #判断该用户是否被锁定
    29         print("对不起!用户%s被锁定!请使用其他用户名登录!" % user_name)
    30     else:
    31         for i,v in enumerate(user):
    32             if user_name == v[0] and pass_word == v[1]:
    33                 print("欢迎登录!")
    34                 # count = 3
    35                 exit()     #直接退出程序
    36             else:
    37                 f = open(file = "用户登录状态文件.txt",mode ='a+',encoding="utf-8")
    38                 error_count += 1
    39                 if error_count == 9:  #每次for循环3次
    40                     f.write("%s状态:锁定" % user_name)
    41         print("您的用户名密码输入有误!")
    42     count += 1
    43     f.close()

    测试结果如下:

  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    netty中Pipeline的ChannelHandler执行顺序案例详解
    Pi-设置无线
    Pi1-Centos
    gitlab升级
    ansible
    我也玩Jenkins
  • 原文地址:https://www.cnblogs.com/mumupa0824/p/8527886.html
Copyright © 2011-2022 走看看