第一个python程序-判断登陆用户名和密码是否正确
1 #setencoding=utf-8 2 #用户名和密码输入正确,则登陆成功 3 #用户名正确密码错误,只再输入密码,有3次机会 4 #错误3次,则把用户名放入lock中 5 import os,sys 6 #存放用户名和密码的文件是E:pythonuser.txt 7 accounts_file = 'E:\python\user.txt' 8 #被锁的用户要写入此文件 9 lock_file = 'E:\python\lock.txt' 10 #先读出来放内存中,免得每次输入用户后进行判断都要打开文件 11 user =file(accounts_file) 12 account_list=user.readlines() 13 user.close() 14 #控制是否退出while大循环的标识 15 loginSucess =False 16 #这里用的大while循环,所以用户名输不对,就会一直输,如果想限制用户名输入次数,那么while改成for 17 while True: 18 #raw_input是一个内置函数,获取用户输入,与用户建立交互 19 #strip()是忽略空格 20 username = raw_input('username:').strip() 21 #先判断用户名是否存在,用户名如果存在才继续,如果不存在,直接跳出循环,结束 22 if len(username)!=0: 23 #用户名如果不为空的时候,判断是不是存在 24 for i in account_list: 25 #i读到的是一行,而一行有2列,第1列就是索引为0的才是用户名,第二列索引为1的是密码 26 #split()方法是分隔符,默认是空格, 27 i = i.split() 28 if username==i[0]:#用户名正确 29 #用户名正确的时候,只给3次输入密码的机会 30 for x in range(3): 31 password = raw_input('password:').strip() 32 if password==i[1]: 33 loginSucess=True#如果为True的时候,直接走上上级for下的if,欢迎完就退出 34 break 35 #如果密码错误 36 37 #如果匹配正确或循环中有break就退出,,else不执行 38 else: 39 print '%s ,你已经输入错误密码3次了,going to lock ' %username 40 l = file(lock_file,'a') 41 l.write(username+' ') 42 l.close() 43 view = file(lock_file) 44 print view.read() 45 46 if loginSucess is True: 47 print '登陆成功,welcome to my system!!!' 48 break #登陆成功就直接跳出while大循环 49 elif loginSucess is False: #这种是用户名输入错误,它的节点在用户不为空的条件之下 ,这里不能用break,不能跳出while大循环,因为我要你一直输,直到成功 50 print '用户名输入错误,请重新输入。' 51 else: #用户名也正确,输入密码不正确3次 52 print '%s,sorry ,输入密码3次错误你已被锁' % username 53 break 54 else:#用户名输入为空的时候 55 continue
前端项目开发框架选型需考虑的4个方面
初识webSocket及其使用
动态组件 —— 2种方式实现动态组件的切换
mac下anaconda安装新包
新版docker设置国内镜像
记一次解决Original error: UiAutomator quit before it successfully launched
linux clion cmakelisits undefined reference 未定义引用
苹果设备插入PC不能识别问题解决办法
用Cucumber理解BDD行为驱动开发
- 最新文章
-
Akka
Actor
Scala 入门笔记
Scala 入门笔记
Scala 入门笔记
Scala 入门笔记
Scala 入门笔记
Scala 入门笔记
Scala 入门笔记
Vue-cli搭建项目模拟后台接口数据(webpack-dev-conf.js文件配置)【本地代理】
- 热门文章
-
JavaScript高级程序设计 ———— String类型(5.6.3)
vue-router点击菜单栏同一个模块报错 ———— Uncaught(in promise) NavigationDuplicated error .......
Less基本语法使用 and sass基本语法
CSS滚动条选择器——实现个性化滚动条
Sublime Text3左侧文件导航如何自动识别文件类型以展示不同文件图标?
Swiper5的使用方法
原生JS实现——改变当前被点击元素样式,其他元素保持原来样式
Uncaught TypeError: (intermediate value) is not a function.
解决方法 —— 使用VSCode环境进行开发,突然出现卡顿、打字显示缓慢,滚动、选择迟缓等问题
ES6与 CommonJS 模块化的区别