第一周作业:

作业1:编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定

流程图:

代码:后来修改过一次:

#!/usr/bin/env python
# -*-conding:utf-8-**
# __Author__:'liudong'
#!/usr/bin/env python
# -*-coding:utf-8-*-
# __author__="Life"
print('You have three times to login,otherwise your account will be locked!')
for i in range(3):
username = input('Please input your username:')
lock_file = open('account_lock.txt', 'r')
lock_list = lock_file.readlines() # 已经被锁定用户清单文件
for lock_line in lock_list: #判断用户输入的名字是否已经锁定(在锁定的文件列表中)
lock_line = lock_line.strip('\n')
if username == lock_line:
print('Your account is locked!')
lock_file.close()
exit()
user_account=open('user_account.txt','r')
user_account_list=user_account.readlines()
#print(user_account_list)
for user in user_account_list:
(user_infile,password_infile)=user.strip('\n').split()
if username == user_infile:
#print(user_infile)
j = 0
while j < 3:
password = input('Please input your password:')
if password == password_infile:
print('login successed!')
user_account.close()
lock_file.close()
exit()
else:
print('Invalid username or password...')
print('this is the %d time(s)' % (j + 1))
j+=1
else:
lock_file = open('account_lock.txt', 'w')
lock_file.write(username + '\n') #锁定用记名写入锁定文件
print('Your account is locked! Please,contact adminstrator to unlock your account!') exit()
else:
print('user %s is not exists,please input again:') lock_file.close()
user_account.close()

 

												

python课程第一天作业1-模拟登录的更多相关文章

  1. Python课程第一天作业

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

  2. Python爬虫初学(三)—— 模拟登录知乎

    模拟登录知乎 这几天在研究模拟登录, 以知乎 - 与世界分享你的知识.经验和见解为例.实现过程遇到不少疑问,借鉴了知乎xchaoinfo的代码,万分感激! 知乎登录分为邮箱登录和手机登录两种方式,通过 ...

  3. Python 3.3.3 使用requests模拟登录网站

    在模拟登录上,requests确实比python标准库中的相关模块更加简洁. 假设你需要去爬一组页面(targetUrls),而这些页面要登录才能进行访问.那么requests能够提供一种相当简单的语 ...

  4. python爬虫【实战篇】模拟登录人人网

    requests 提供了一个叫做session类,来实现客户端和服务端的会话保持 使用方法 1.实例化一个session对象 2.让session发送get或者post请求 session = req ...

  5. python入门第一天作业。讲师写的代码。

    #!/uer/bin/env python # _*_ coding: utf-8 _*_ import sys retry_limit = 3 retry_count = 0 account_fil ...

  6. Python课程第二天作业

     一.统计字符串格式 要求: # 1.统计元组中所有数据属于字符串的个数,提示: isinstance() # 数据: t1 = (1, 2, '3', '4', 5, '6') # 结果: 3 代码 ...

  7. Python课程第八天作业

    第一题: 1.自定义一个 Fruit 类:该类有一个 类属性: identify:值为"水果",有两个对象属性: name,price:值由实例化对象时赋值,一个类方法: get_ ...

  8. python课程第一天笔记-la

    http://www.cnblogs.com/onda/   ----------------------20170423 一:Cpython  pypy 区别 等;Cpython 是一行一行解释, ...

  9. python3作业:模拟登录

    __author__ = "bin007" customer = {}#存储用户信息#处理用户信息文件try: with open('login.txt','r',encoding ...

随机推荐

  1. nexus 的使用及maven的配置

    一.nexus的安装 1.下载nexus(点解这里) 2.下载后解压文件,将解压后的nexus文件放在你自己想要的地方 3.配置环境变量(和配置java的环境变量一样) 4.安装和启动nexus 由于 ...

  2. ajax上传文件进度条

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. mysql复制表

    create table 表名 like 要复制的表名  //复制表结构 insert into 表名 select * from 要复制的表名  //复制数据 方法2,一般不推荐,如果后台加数据,可 ...

  4. ASP.NET页面传值与跳转

    asp.net页面传值的五种方法:QueryString,Session,Application,Request.Cookies,Server.Transfer 其中Cookie和Server.Tra ...

  5. html5之web worker

    Web Worker   在本文中 与 Web Worker 进行双向通信 WindowTimers 在 IE10 Platform Preview 4 中对 Web Worker 的更新 API 参 ...

  6. php笔试题1

    PHP 基础知识部分 1. 求$a的值 复制代码 代码如下: $a = "hello"; $b = &$a; unset($b); $b = "world&quo ...

  7. DEDE常见的错误(转)

    1:dedecms文章录入的时候,如何控制文章重复.   在dede/article_add.php里面,加入该程序就OK了    if($cfg_check_title == 'Y'){      ...

  8. ionic框架,快速开发webAPP神器。

    官网地址 http://www.ionicframework.com/ 这个国外框架已经很火了.会使用插件的话更好,例如支付宝支付插件,调用摄像头拍照,二维码扫描,通讯录,文件上传,推送信息等等. 最 ...

  9. GPIO的8种模式详解

    和stm32的GPIO相关的寄存器有 (1)两个32位的配置寄存器(GPIOX_CRL,GPIOX_CRH) 每一个IO占用4位,16个IO占用64位就是两个32为寄存器. 其中CNF[1:0]是用来 ...

  10. Ubuntu 下对ADT 添加别名(alias)

    1:~$ vim .bashrc 2:在打开的.bashrc文件中加入: alias adt='./adt-bundle-linux-x86-20130729/eclipse/eclipse' 3:保 ...