zoukankan      html  css  js  c++  java
  • python练习1--用户登入

    python版本为python3.5
    1.要求

    1)输入用户名密码
    2)认证成功后显示欢迎信息
    3)输错三次后锁定

    2.需求分析
    1)用户信息存储在文件中(login/config/user_login.txt)
    2)用户输入用户名和密码
    3)判断用户名是否存在,存在则继续,不存在则提示继续输入
    4)判断输入的用户名是否已经被锁定,如果已锁定则退出程序,否则继续
    5)匹配文件中的用户信息
    6)如果匹配则打印出欢迎信息
    7)如果输入3次密码错误,则锁定该用户名(login/config/name_lock.txt)

    3.测试用户
    bigberg:123abc
    lc:123456
    smallberg:111111
    root:12345
    dinasor:12321
     1 # -*- coding: UTF-8 -*-
     2 #Author:Bigberg
     3 
     4 #定义一个循环计数
     5 count = 0
     6 #定义一个字典存储用户名和密码
     7 names={}
     8 
     9 #定义一个列表存储用户名
    10 name_exit = []
    11 
    12 #输入用户名
    13 username = input("username:")
    14 
    15 #判断输入的用户的用户是否在用户名单中
    16 with open("../config/name_login.txt",'r') as f:
    17     while True:
    18         line = f.readline().strip()
    19         if not line:
    20             break
    21         else:
    22             name = line.split(':')[0]
    23             passwd = line.split(':')[1]
    24             names[name] = passwd
    25 for key in names:
    26     name_exit.append(key)
    27 #判断用户名是否正确,不正确则继续输入
    28 while username not in name_exit:
    29     print("The account is not exit.Check it again.")
    30     username = input("username:")
    31 else:
    32     # 读取锁定文件中的内容
    33     with open("../config/name_lock.txt", "r") as f:
    34         lock_name = f.read()
    35 
    36     # 判断用户名是否在锁定文件中,如果在就退出程序
    37     if username == lock_name:
    38         print("Sorry.Your account has been locked.")
    39         exit()
    40     else:
    41         # 3次输入密码的机会
    42         while count < 3:
    43             passwd_input = input("password:")
    44 
    45             # 判断用户名和密码是否有效
    46             if passwd_input == names[username]:
    47                 print("Welcome!", username)
    48                 break
    49             else:
    50                 print("Error,please try again.")
    51 
    52             count += 1
    53 
    54             # 如果3次输入密码错误,则将用户名添加到锁定文件
    55             if count == 3:
    56                 with open("../config/name_lock.txt", "w") as f:
    57                     f.write("%s" % username)
    58                 print("You have tried 3 times,and your account will be locked")


  • 相关阅读:
    有个扫描二维码的扩展,还不错
    js实现html截图生成图片
    微信小程序左右滑动切换图片酷炫效果(附效果)
    谷歌扩展程序设置ajax请求允许跨域(极少人知道的解决方案)
    h5页面使用sessionStorage滚动到上次浏览器位置《原创》
    ajax返回json数组遍历添加到html
    解决微信内置浏览器屏蔽下载链接问题
    解决html5新标签【placeholder】低版本浏览器下不兼容问题
    Web前端知识技能大汇总
    酷炫的页面滚动切换动画效果
  • 原文地址:https://www.cnblogs.com/bigberg/p/6419986.html
Copyright © 2011-2022 走看看