#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 ' %usernamel = 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次错误你已被锁' % usernamebreakelse:#用户名输入为空的时候continue

转载于:https://www.cnblogs.com/clarke/p/5965796.html

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

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

    #setencoding=utf-8#用户名和密码输入正确,则登陆成功 #用户名正确密码错误,只再输入密码,有3次机会 #错误3次,则把用户名放入lock中 import os,sys #存放用户名和 ...

  2. 编写一个python程序判断用户输入的8位银行卡_用Python编写的程序,提示用户输入一个由7位数字组成的帐号?...

    我在上一门Python入门课程,但有点困在作业上.任何建议或资源将不胜感激!在 问题是: 用Python编写一个程序,提示用户输入由7位数字组成的帐号.在 从用户处获取该帐号后,验证该帐号是否有效.您 ...

  3. win10出现一个mysql账户密码错误_Windows 10 访问网络共享 总是提示用户名或密码不正确的解决方法...

    今天同事在Windows10上共享了一些文件,其他使用Windows 7的同事都可以正常使用,唯独我是使用Windows 10操作系统的,和别人输入一样的用户名和密码,却总是告诉我:用户名或密码不正确 ...

  4. python实现用户输入用户名和密码不能为空_Python学习【第四篇】用户输入及判断...

    用户输入:例1.写一个小程序为用户输入密码.流程如下:1.用户输入其用户名2.输出\u201CHello +用户名\\/usr\/bin\/env python # name = raw_input( ...

  5. c语言字符串用for语句去重,python简介、第一个python程序、变量、字符编码、用户交互程序、if...else、while、for...

    也愿大家永葆初心-- 已识乾坤大,犹怜草木青. 一.python简介 首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算 ...

  6. 我的第一个Python程序

    #我的第一个Python程序 def is_valid_date(strdate):#判断是否是一个有效的日期字符串try:#判断是否是时间格式if ":" in strdate ...

  7. 第一个python解释器_第一个python程序

    回顾昨日重点(需记住5*) 三大核心: cpu--运行程序 内存--基于电,存取速度快,断电丢失数据 硬盘--基于磁,存取速度远远慢于内存,断电不丢失数据 操作系统 应用程序 操作系统 (window ...

  8. 对《Python核心编程》中“第一个Python程序”的改进

    概述: 本程序主要是模仿<Python核心编程>中3.6节--第一个Python程序,并在其基础上做了一些小的改进,而改进的要求则是来源于第三章的课后练习题. 本篇博客的一个核心问题就是在 ...

  9. Python-第一个Python程序

    一.第一个Python程序 [第一步]新建一个hello.txt [第二步]将后缀名txt改为py [第三步]使用记事本编辑该文件 [第四步]在cmd中运行该文件 print("Hello ...

最新文章

  1. 工作中常用的第三放的框架
  2. 处理 Maven 项目名称红色感叹号的问题
  3. MOV指令在32位汇编程序和64位汇编程序下的相同与不同之处
  4. 从入门到入土:FIND 企鹅好友 WHERE
  5. 解决硬盘磁道损坏问题(亲测)
  6. 免费计算机管理软件,免费电脑销售管理软件
  7. html表白代码大全可复制,浪漫的html表白特效网页制作源
  8. Element UI 中国省市区级联数据js
  9. 是java运行时环境的缩写,java运行环境的英文缩写
  10. 解决vscode出现“无法写入用户设置。请打开用户设置并清除错误或警告,然后重试。”问题
  11. codec2中的函数命名后缀vb nb sm
  12. JAVA第八课:集合(CollectionMap)
  13. 很抱歉 程序无法在非mbr引导的分区上激活
  14. 计算机基础中如何属性隐藏,-XP系统如何显示隐藏的文件夹
  15. 遇见CSDN蒋总和众多大咖
  16. es6中两数组按条件穿插混合------------元宵节快乐
  17. 使用xxtea加密或者解密文件
  18. Mac 自带拼音输入法卡顿?一行代码起效,百试百灵。
  19. AxureRP使用方法
  20. 转:win10自带输入法切换简体繁体快捷键

热门文章

  1. php !$rs-gt;bof and !$rs-gt;eof,关于rs.bof rs.eof的一些解释,请大家帮我完善一下,谢谢...
  2. java rails orm_php 模拟 rails 中的 ActionRecord 的 ORM (一)
  3. java十六进制与字符串_JAVA十六进制与字符串的转换方法
  4. php query builder,php – Symfony2 – Doctrine2 QueryBuilder WHERE I...
  5. 2012.4.16总结(三)
  6. js 实现省市县三级联动
  7. 瑞友客户端无法建立跟远程计算机的连接,瑞友天翼终端错误信息的原因以及解决方法大全.doc...
  8. 【数据库系统原理】SQL语言
  9. 中文HanLp分词入门
  10. flume正则拦截器