python实现登录验证(循环练习)

练习python的while循环控制,模拟登录验证,登录失败三次会锁定账户。login_validate.py
##!/usr/bin/env python
# -*- coding: UTF-8 -*-
#author:lonerangerr
count = 0
retry_limit = 3
while count < retry_limit:
    username = raw_input("Enter your username:")
    with open(‘lockfile‘,‘r‘) as f:
        for i in f.readlines():
            if username == i.split()[0]:
                print "Sorry,%s:your account is locked,process will be quit..."%username          f.close()
                exit()
    password = raw_input("Enter your passwd:")
    match = False
    with open(‘userinfo‘,‘r‘) as f:
        for line in f.readlines():
            user,passwd = line.strip(‘\n‘).split()
            if username == user and password == passwd:
                #print "yyyyyyyyyyyyyyyyyyes..."
                pass
                match = True
                break
        if match ==False:
            print "Unmatched!!! u still have %s times to retry..."%(2-count)
            count += 1
        else:
            print "Hello,%s: Welcome to login..."%username
            break
    f.close()
else:
    print "Sorry,%s:your account will be locked..."%username
    with open(‘lockfile‘,‘a‘) as f:
        f.write(username)
        f.write(‘\n‘)
        f.close()

运行此程序需要的另外两个文件(三个文件放在同一个目录下)lockfile(被锁定用户)、userinfo(用户账户、密码信息),格式如下

lockfile

locked_user1
locked_user2
locked_user3

userinfo

user1    111
user2    111
user3    111

  

时间: 2024-08-06 08:00:11

python实现登录验证(循环练习)的相关文章

python学习之最简单的用户注册及登录验证小程序

文章都是从我的个人博客上粘贴过来的哦,更多内容请点击 http://www.iwangzheng.com 正如很多同学所知道的,楼主开始学习python了,前进的道路曲曲折折,有荆棘也有陷阱,从最简单的小程序写起,每天练习,将python进行到底. 有一点比较别扭的就是python的换行之后空四个空格,ruby都是两个,并且python在方法和循环语句的第一句都要加冒号 mysql> show create table user; mysql> alter table user add sal

简明Python教程(四)———用户登录验证

例子: 实现目标,用Python编写用户登录验证脚本. 知识点: 1.while和if控制流 2.运算表达式 验证过程: 脚本: #!/usr/bin/env python#filename : User login authentication#import sysname = 'Tiger'passwd = '123456'counter = 0times = 3while True:                         #-----------无限循环 username = r

python登录验证模块

#/usr/bin/env python2.7 #-*- coding:utf-8 -*- """ 功能:     登录验证模块 详细说明:     1.密码文件为passwd     2.passwd未创建或丢失,会提示:密码文件不存在,建议重新注册!!     3.未注册用户登录会提示:用户名不存在,请您先进行注册!     4.已注册用户登录时,忘记密码,尝试3次后密码还不正确则退出验证,等一会儿则可以重新登录     5.作为装饰器进行登录验证 ""

Python基础,简单的登录验证

初次学习python,一头雾水,写了个简单的登录验证,做做笔记 username = 'cc' #用户名 userpassword = '123' #密码 count = 0 #计数器 while count<3: #如果计数小于3,即0,1,2共三次,则执行以下代码 _username = input("USER:") _userpassword = input("PW:") if _username == username and _userpasswor

python 登录验证程序

Name:  LoginAuth.py Fuctions: 登录验证.隐藏输入密码.同一用户3次输入错误密码锁定该账户.如果用户名为yooma密码                  为yooma 则登录成功提示欢迎 code: #!/usr/bin/env python3 #Auther:yooma 2016-08-15 15:00 import sys import getpass c = 1 uname = [] while 1:     username = input("Input us

python后端注册登录验证小程序

一共四个文件 实现的功能是:注册账号,写到mysql数据库user(id,name,password,createtime)表中,password字段为使用md5加密后密码,并实现密码验证登录. 先上效果图: 1.注册 2.登录验证 3.数据库 说明:数据中24,25是只加密用户输入的密码字符串,18,19,26,27是加密的name,password,createtime三个字段内容的组合字符,20到23的没有加密. 1.配置文件config.py #mysql info for host,u

python编写登录接口

python编写登录接口 一.需求 编写登录接口: 1.输入用户名和密码登录 2.输错三次锁定账户 3.下次登录还是上次的账户,提示锁定,直接退出(用到文件读写) 4.成功 后显示登录成功 二.需求流程图 三.代码示例 例1: #!/bin/bash/env python #_*_ coding:utf-8 _*_ #python version:3.6 ''' 编写登录接口:     1.输入用户名和密码登录     2.输错三次锁定账户     3.下次登录还是上次的账户,提示锁定,直接退出

php 避免登录出现循环重定向

我们在写网站的时候经常会出现这种情况,登录的时候,老是说你的页面中包含循环重定向的内容. 下面我就来说明一下几种常见的情况. 在thinkphp中,如果是后台的话,要求必须登录才能进入到主管理界面.那么我们可以通过这种方法来实现. 在控制器中建立一个 CommonController 通用控制器,然后在里面写一个 public function _initialize(){ //检查是否有session('username')的内容,如果没有则跳转到登录页面... 没有登录,则跳到登录控制器 $

python_登录验证,三次机会

登录验证,三次机会,如何做? 1. 一个用户列表记录合法密码和用户名,一个小黑屋列表记录输错3次的用户, 一个中间列表记录所有用户输入,统计某个用户是否输错3次 2. 通过 in 判断一个元素是否在一个列表中,for循环把 输入验证hold住 #!/usr/bin/python3 def login(user_ku): lock_list = [] # 锁定用户库,3次登录失败进入的小黑屋 can_zhao = [] # 登录失败的录入,如果用count数出3次,进入锁定 while True: