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

#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改成forwhileTrue:

#raw_input是一个内置函数,获取用户输入,与用户建立交互

#strip()是忽略空格

username= raw_input('username:').strip()

#先判断用户名是否存在,用户名如果存在才继续,如果不存在,直接跳出循环,结束if len(username)!=0:

#用户名如果不为空的时候,判断是不是存在for i inaccount_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 isTrue:

print'登陆成功,welcome to my system!!!'

break#登陆成功就直接跳出while大循环

elif loginSucessisFalse: #这种是用户名输入错误,它的节点在用户不为空的条件之下 ,这里不能用break,不能跳出while大循环,因为我要你一直输,直到成功

print'用户名输入错误,请重新输入。'

else: #用户名也正确,输入密码不正确3次

print'%s,sorry ,输入密码3次错误你已被锁' %usernamebreak

else:#用户名输入为空的时候continue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值