zoukankan      html  css  js  c++  java
  • python---用户登录程序

    需求:

    1. 用户登录,判断用户名密码是否正确

    2. 密码输入三次不对则锁定账号

    3. 锁定账号无法登录

    分析:

    1. 输入账号,判断账号是否存在,即账号是否在账号文件中存在;

    2. 如果账号存在,则判断密码是否正确,如果密码正确,则登录成功,密码不对,提示再次输入,超过三次,锁定账号,并写入锁定文件;

    3. 如果账号不存在,则提示账号不存在

     1 # -*- coding:utf-8 -*-
     2 # LC
     3 username = input("please input your username:")         #输入用户名
     4 #检查用户名是否被锁住
     5 lock_read = open("lock_file.txt","r")
     6 for lock in lock_read:
     7     lock_user = lock.strip()        #取出lock文件里面的用户信息
     8     if username == lock_user:
     9         print("You have been locked!")
    10         break
    11     else:
    12         continue
    13 lock_read.close()                   #读取完毕
    14 
    15 if username != lock_user:
    16     password = input("please input your password:")         #如果用户没有再lock文件中,则输入密码
    17     with  open("account_file.txt") as user_info:            #打开用户账号文件
    18         for account in user_info:                               #查看输入的用户是否再账号文件内
    19             account_user = account.strip().split(" ")[0]
    20             account_pass = account.strip().split(" ")[1]
    21             if username == account_user:                        #如果输入的用户名在用户文件中存在
    22                 if password == account_pass:
    23                     print("welcome to login")               #密码正确,则判断登录成功
    24                     break
    25                 else:
    26                     print("wrong password!")                #否则密码错误,重新输入密码,即可用再输入两次
    27                     for count in range(0,2):
    28                         count = count + 1
    29                         password = input("please input your password:")
    30                         if password == account_pass:
    31                             print("welcome to login")          #如果再次输入的密码正确,则跳出
    32                             break
    33                         else:
    34                             print("wrong password")
    35                     if count == 2:                              #如果三次输错,则写入lock文件中,采用追加写入的方式
    36                         lock_write = open("lock_file.txt","a+")
    37                         lock_write.write("
    ")
    38                         lock_write.write(username)
    39                         lock_write.close()
    40         if username!=account_user:                                     #如果账号文件内没有此账号,则提出没有此用户信息
    41             print("No this user")
    View Code

    账号文件: 

    account_file.txt

    clv 123
    gl 123
    View Code

    锁定文件:

     lock+_file.txt

    1 clv
    View Code

    初次编写,看老男孩视频,想了很久,折腾了个大概,还是蛮开心的

  • 相关阅读:
    count-and-say
    jump-game
    trapping-rain-water
    Java QueueDemo
    Java StackDemo
    swap-nodes-in-pairs
    php多维数组变成一维数组
    php获取客户端IP地址
    php根据随机数生成6位密钥
    Laravel ,YII,thinkphp 框架的区别
  • 原文地址:https://www.cnblogs.com/clv5/p/6986573.html
Copyright © 2011-2022 走看看