Python15-day1课后作业
功能:编写一个用户登录接口
要求:1)根据提示输入用户名、密码信息
2)输入的用户、密码正确则显示欢迎信息
3)连续三次输入错误则锁定账号
#coding=utf-8
import sys,os,getpass
i = 0 #
while i<3:
name = raw_input("请输入用户名:")
lock_file = open('b_lock.txt','r+')
lock_list = lock_file.readlines()
for lock_line in lock_list:
lock_line = lock_line.strip('\n')
if name in lock_line:
sys.exit ('用户 %s 已经被锁定,退出' % name)
user_file1 = open("b.txt",'r')
user_list1 = user_file1.readlines()
for user_line1 in user_list1:
(user,password) = user_line1.strip('\n').split() #分别获取帐号和密码信息
# print user
# print password
if name == user:
j = 0 #密码计数
while j < 3: #只要用户密码异常不超过3次就不断循环
passwd = getpass.getpass('请输入密码:')
if passwd == password:
print('欢迎登录管理平台,用户%s' % name)
sys.exit(0)
else:
print("用户%s密码错误,请重新输入,还有%d次机会"% (name,2-j))
j += 1
else:
lock_file.write(name + "\n")
print ('用户 %s 达到最大登录次数,将被锁定并退出' % name)
break
else:
pass
else:
print('用户 %s 不存在,请重新输入,还有 %d 次机会' % (name,2 - i))
i += 1
else:
print('用户 %s 不存在,退出' % name)
b_lock.close()
b.close()
Python15-day1课后作业的更多相关文章
- Day1课后作业:用户登录简单版
user = "gaojun"password ="123abc"for i in range(3): user = input('请输入用户名:') pass ...
- String字符串类课后作业
String动手动脑和课后作业 请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? 结果: 总结:在Java中,内容相同的字串常量(&quo ...
- JAVA第三周课后作业
JAVA课后作业 一.枚举类型 代码: enum Size{SMALL,MEDIUM,LARGE}; public cl ass EnumTest { public static void main( ...
- java课后作业
课后作业之字串加密: 设计思想: 1.输入要加密的英文子串str 2.定义num=str的字符串长度 3.将字符串转化为单个字符 4.每个字符+3,向后移3个 5.定义str1,将新得到的每个字符加到 ...
- python基础一之课后作业:编写登录接口
1 # Author : Mamba 2 3 #python基础一之课后作业:编写登录接口 4 5 # 输入用户名密码 6 # 认证成功后显示欢迎信息 7 # 用户名3次输入错误后,退出程序 8 # ...
- 吴恩达课后作业学习1-week4-homework-two-hidden-layer -1
参考:https://blog.csdn.net/u013733326/article/details/79767169 希望大家直接到上面的网址去查看代码,下面是本人的笔记 两层神经网络,和吴恩达课 ...
- 吴恩达课后作业学习1-week4-homework-multi-hidden-layer -2
参考:https://blog.csdn.net/u013733326/article/details/79767169 希望大家直接到上面的网址去查看代码,下面是本人的笔记 实现多层神经网络 1.准 ...
- 吴恩达课后作业学习2-week1-1 初始化
参考:https://blog.csdn.net/u013733326/article/details/79847918 希望大家直接到上面的网址去查看代码,下面是本人的笔记 初始化.正则化.梯度校验 ...
- 吴恩达课后作业学习2-week1-2正则化
参考:https://blog.csdn.net/u013733326/article/details/79847918 希望大家直接到上面的网址去查看代码,下面是本人的笔记 4.正则化 1)加载数据 ...
- java课后作业总结
今天的课后作业是做一个查找一段文章中单词出现的概率,统计并 输出出现概率最高的几个单词.拿到题目,老师还是往常一样提醒着我们先分析题目,构建大概的编程思路.程序需要遇到文本文件的输入输出操作,这一直一 ...
随机推荐
- redis的文件事件处理器
前言 C10K problem提出了一个问题,如果1w个客户端连接到server上,间歇性的发送消息,有哪些好的方案? 其中的一种方案是,每个线程处理多个客户端,使用异步I/O和就绪通 ...
- 设置文字在div中垂直居中,使用line-height
(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-02-19) line-height 行间距 详细使用方法:http://www.w3school.com.cn/css/pr ...
- AllocateHwnd is not Thread-Safe
http://www.thedelphigeek.com/2007/06/allocatehwnd-is-not-thread-safe.html http://gp.17slon.com/gp/fi ...
- RFIDler - An open source Software Defined RFID Reader/Writer/Emulator
https://www.kickstarter.com/projects/1708444109/rfidler-a-software-defined-rfid-reader-writer-emul h ...
- xshell 远程连接Linux
Linux系统(Ubuntu 16.04) Window系统(win10) 工具:xshell Linux下, sudo apt-get update sudo apt-get install ope ...
- jQuery + jQuery Mobile 实现省市二级下拉列表页面
一.需求: 提供省.市下拉列表,当用户选择省一级下拉列表项后,市下拉列表的各个选项自动变为该省对应的城市列表. 二.效果: 三.实现: 1.省市json数据,来自: http://www.cnblog ...
- freemarker中的round、floor和ceiling数字的舍入处理
freemarker中的round.floor和ceiling数字的舍入处理 1.简易说明 (1)round:四舍五入 (2)floor:向下取整 (3)ceiling:向上取整 2.举例说明 < ...
- Android简单封装类似JQuery异步请求
在android开发中经常会使用异步请求数据,通常会使用handler或者AsyncTask去做,handler 配合message 使用起来比较麻烦,AsyncTask 线程池只允许128个线程工作 ...
- BootStrap 的随笔一二三
正在学习中待补充 ..为自己日后查看留存,不喜误看 特别鸣谢,小霖,小涛,小海... Bootstrap总结 可实现的页面效果 导航.格栅分为12份,焦点图,按钮,响应式,下拉按钮,选项卡等 boot ...
- LeetCode57 Insert Interval
题目: Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if nec ...