#!/uer/bin/env python
# _*_ coding: utf-8 _*_ import sys
retry_limit = 3
retry_count = 0
account_file = 'accounts.txt'
lock_file = 'account_lock.txt' while retry_count < retry_limit: #循环体限制3次内执行 username = raw_input('\033[32; Username : \033[0m') #输入用户名
lock_check = open(lock_file) #打开锁定文件
for line in lock_check.readlines():
line = line.split() #循环锁定文件跟输入的用户名比对
if uesrname == line[0]: #判断用户输入的用户名和lock文件的用户名第一元素==
sys.exit('\031[31; User %s is locked!\033[0m' %username) password = raw_input('\033[32; Password : \033[0m') #输入pass
f = file(account_file,'r+')
match_flag = False
for line in f.readlines(): #循环acc文件,
user,password = lin.strip('\n').split() #把accounts文件拆分过滤 换行符,赋值给user,和pss变成列表
if username == user and password == password: #判断:输入的use等于acc里user 且 输入的pss等于列表里的pss
print('Match!'),username
match_flag = True
break
f.close() if match_flag == False: #判读标志位,默认不匹配。
#判断用户输入的user和pass是否与文件匹配,不配就继续循环,匹配上了就退出。
print 'User unmatched!'
retry_count +=1
else :
print('Welcom to in feifei blog system!')
else:
print("You account is locked!")
f =file(lock_file,'ab')
f.write(username)
f.close()

作业:
编写登陆接口

输入用户名密码

认证成功后显示欢迎信息


输错三次后锁定

python入门第一天作业。讲师写的代码。的更多相关文章

  1. python课程第一天作业1-模拟登录

    第一周作业: 作业1:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 流程图: 代码:后来修改过一次: #!/usr/bin/env python # -*-conding:ut ...

  2. python入门第一天,循环与判断

    学习一门新的语言最重要的就是练习. 一.脚本需求: 编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 二.脚本流程图: 写代码之前画个流程图总是好的,可以让你理清思路,避免写着写着 ...

  3. Python入门-第一行代码到多行代码

    不管学啥语言,开始的第一行代码都是: print("hello word") 回车之后,就代表你正式进入代码的世界! 如果报错,恭喜你获得第一个书写bug,请检查单词拼写,双引号, ...

  4. #000 Python 入门第一题通过扩展,学到了更多的知识

    #1写在前面的话 我觉得这样学习或许能够在学习的过程中事半功倍 第一道简单的python编写代码输出10行带标号的“Hello,world.”,具体效果参阅输入输出示例 1:Hello,world. ...

  5. Python课程第一天作业

    一.第一题:简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型? 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的 ...

  6. Python入门第一课——Python的起源、发展与前景!

    我们在做任何一件事情之前,我们都会通过各种渠道去搜集事情的信息,了解事情的来龙去脉,学习一门编程语言也是如此,只有知根知底,我们才能有明确的方向和目标,以及底气去完成这件事情,今天我带大家来看看Pyt ...

  7. python入门第一篇

    python里面 单行注释用:#被注释内容 多行注释用:"""被注释内容""" 要想py2.7和py3.5都能运行,必须在文件头部加: #/ ...

  8. 《java入门第一季》之面向对象(代码块一网打尽)

    上一篇里面对代码块做出介绍,这里给出一个面试题,加深印象. 如有毁三观的地方,请见谅.拒绝黄赌毒 写程序的执行结果. class Student { static { System.out.print ...

  9. 大爽Python入门教程 0-1 安装python

    大爽Python入门公开课教案 点击查看教程总目录 一 如何找到下载地址并下载 下面展示找到下载地址的方法步骤 嫌步骤太慢可直接跳到第4步, 查看详细下载地址 使用搜索引擎搜索python 打开搜索结 ...

随机推荐

  1. heritrix 相关

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  2. qt QSqlQuery

    QT数据库QSqlQuery   SQL执行操作 QSqlQuery提供了对数据库记录的Select.Insert.Update.Delete操作. SELECT操作: QSqlQuery query ...

  3. Eclipse启动时报需要安装"Java SE 6 Runtime"致无法启动解决方案

    今天心血来潮,把MBP升级到了osx mavericks,然后启动了闲置好久的eclipse,启动时居然报错了: 若要打开Eclipse.app,您需要Java SE 6 runtime,您想现在安装 ...

  4. 什么是aop?

    这个命题其实是讲了的,但是之前没有做,发现一些面试会问到,结合自己之前的学习经历.简单把这个问题描述一下. aop是跟oop相对应的一个概念.分别是aspect oriented programmin ...

  5. %s 与 %0s在 verilog中的区别

    what is different between %s and %0s?(%s和%零s) %s prints the string as it is with spaces at the begin ...

  6. 自己动手实现SharePointList的分页展示

    SharePoin列表里对条目的展示只有上一页下一页,不能够跳转,不能够一次导航到第一页和最后一页. 项目需要,所以对列表的数据展示进行了定制化开发来实现如上的功能. 前端用GridView展示,用L ...

  7. 移动端rem布局的适配mixin【转藏】

    /*================================================================ 以下为基于ip5 宽度320做的适配,标准html{font-si ...

  8. PostgreSQL 修改列报错:cannot be cast automatically to type integer

    如果你直接使用可视化工具修改一个varchar字段为int类型的时候,可能会报错, 这里就需要自己去写一个语句去修改了 调整执行语句:ALTER TABLE table_name ALTER COLU ...

  9. c#进程间通讯方案之IPC通道

    转载:http://www.cnphp.info/csharp-ipc-channel-remoting.html 最近一直纠结与使用多进程还是多线程来构建程序.多线程的方法似乎不错,但是一个进程可承 ...

  10. mysql的分区技术(建立分区)

    -- mysql建立表分区,使用range方法建立: create table t_range( id int(11), money int(11) unsigned not null, date d ...