首页 > 编程语言 > 详细

第一个python程序-判断登陆用户名和密码是否正确

时间:2016-10-16 07:40:16      阅读:408      评论:0      收藏:0      [点我收藏+]
#setencoding=utf-8
#用户名和密码输入正确,则登陆成功
#用户名正确密码错误,只再输入密码,有3次机会
#错误3次,则把用户名放入lock中
import os,sys
#存放用户名和密码的文件是E:\python\user.txt
accounts_file = E:\\python\\user.txt
#被锁的用户要写入此文件
lock_file = E:\\python\\lock.txt
#先读出来放内存中,免得每次输入用户后进行判断都要打开文件
user =file(accounts_file)
account_list=user.readlines()
user.close()
#控制是否退出while大循环的标识
loginSucess =False
#这里用的大while循环,所以用户名输不对,就会一直输,如果想限制用户名输入次数,那么while改成for
while True:
    #raw_input是一个内置函数,获取用户输入,与用户建立交互
    #strip()是忽略空格
    username = raw_input(username:).strip()
    #先判断用户名是否存在,用户名如果存在才继续,如果不存在,直接跳出循环,结束
    if len(username)!=0:
        #用户名如果不为空的时候,判断是不是存在
        for i in account_list:
            #i读到的是一行,而一行有2列,第1列就是索引为0的才是用户名,第二列索引为1的是密码
            #split()方法是分隔符,默认是空格,
            i = i.split()
            if username==i[0]:#用户名正确
                #用户名正确的时候,只给3次输入密码的机会
                for x in range(3):
                    password = raw_input(password:).strip()
                    if password==i[1]:
                        loginSucess=True#如果为True的时候,直接走上上级for下的if,欢迎完就退出
                        break
                        #如果密码错误

                #如果匹配正确或循环中有break就退出,,else不执行
                else:
                    print %s ,你已经输入错误密码3次了,going to lock  %username
                    l = file(lock_file,a)
                    l.write(username+\n)
                    l.close()
                    view  = file(lock_file)
                    print view.read()

        if loginSucess is True:
            print 登陆成功,welcome to my system!!!
            break     #登陆成功就直接跳出while大循环
        elif loginSucess is False:  #这种是用户名输入错误,它的节点在用户不为空的条件之下 ,这里不能用break,不能跳出while大循环,因为我要你一直输,直到成功
            print 用户名输入错误,请重新输入。
        else:  #用户名也正确,输入密码不正确3次
            print %s,sorry ,输入密码3次错误你已被锁 % username
            break
    else:#用户名输入为空的时候
        continue

 

第一个python程序-判断登陆用户名和密码是否正确

原文:http://www.cnblogs.com/clarke/p/5965796.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!