python第一天,编写用户接口
作业:编写登陆接口
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
流程图:

代码
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#created by 252513499@qq.com at 2018.11.21
from sys import argv
def ifuser(user,passwd):
hash={}
#将文件内容以字典存储到内存中,hash[name] = ['password','err','lock']
F=open("/root/python/user.lock",'r+')
for line in F:
lists=line.strip().split()
if len(lists) ==4:
name =lists.pop(0)
hash[name]=lists
F.close()
if user in hash.keys():
while hash[user][2]!='yes':
if(hash[user][0] == passwd):
# *****写入文件,错误数更新为0**
hash[user][1]=0
F=open("/root/python/user.lock",'w')
for name in hash.keys():
line=str(" ".join([name," ".join(map(str,hash[name]))]))
F.write(line+"\n")
F.close()
print "欢迎您"+user
break
else:
hash[user][1]=int(hash[user][1])+1
if int(hash[user][1])<3:
print "您的密码错误,您还有"+str(3-hash[user][1])+"次机会,请重新输入密码"
# **写入文件,记录错误数**
F=open("/root/python/user.lock",'w')
for name in hash.keys():
line=str(" ".join([name," ".join(map(str,hash[name]))]))
F.write(line+'\n')
F.close()
passwd=raw_input().strip()
else:
#***********************写入文件,记录被锁定**************************
hash[user][2]='yes'
F=open("/root/python/user.lock",'w')
for name in hash.keys():
line=str(" ".join([name," ".join(map(str,hash[name]))]))
F.write(line+'\n')
F.close() else:
# ********************
print "对不起,您的用户已经被锁定"
else:
print "对不起,您的用户不存在"
if __name__ == "__main__":
if len(argv) != 3:
print "\n请输入正确的参数,例如\npython 1.py user name"
else:
ifuser(argv[1],argv[2])
python 1.py user name
python第一天,编写用户接口的更多相关文章
- Python学习第一天-编写登陆接口
编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 帐号文件user.txt内容如下: qaz 123qwe 12345qweqwr 12321424...... 锁文件user_l ...
- Python学习之编写登陆接口(Day1,作业一)
作业一:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定(下次登陆还是锁定) 知识点:while循环,for循环,文件操作,if判断,列表操作 思路: 1.登陆,三次登陆失败,锁定 ...
- python之编写登陆接口(第一天)
作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 针对此实例写了有二种类型的脚本,略有不同,具体如下: 帐号文件account.txt内容如下: sam 123 david ...
- 关于python怎样编写登录接口
把今天的成果展示下,关于怎么用python编写登录接口, 要求是 1.输入用户名和密码 2.输错三次密码就锁定用户 3.认证成功后输出欢迎信息 账号文件内容如下: sanjiang sanjian ...
- Python之编写登录接口
作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 帐号文件account.txt内容如下: liuyueming 123zhangsan 123lisi 123 锁文件acc ...
- (转)python编写登录接口
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://506554897.blog.51cto.com/2823970/1907262 ...
- Python小程序之用户登陆接口
编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 程序逻辑图: 代码: #!/usr/bin/env python #_*_ coding:UTF-8 _*_ #__author_ ...
- python练习:编写一个程序,要求用户输入一个整数,然后输出两个整数root和pwr,满足0<pwr<6,并且root**pwr等于用户输入的整数。如果不存在这样一对整数,则输入一条消息进行说明。
python练习:编写一个程序,要求用户输入一个整数,然后输出两个整数root和pwr,满足0<pwr<6,并且root**pwr等于用户输入的整数.如果不存在这样一对整数,则输入一条消息 ...
- python基础一之课后作业:编写登录接口
1 # Author : Mamba 2 3 #python基础一之课后作业:编写登录接口 4 5 # 输入用户名密码 6 # 认证成功后显示欢迎信息 7 # 用户名3次输入错误后,退出程序 8 # ...
随机推荐
- MyEclipse2017 隐藏回车换行符
Preferences->Text Editor->Show Whitespace characters(configure visibility)->Transparency Le ...
- Spring IoC 依赖注入的方法大全 XML配置方式
Spring 依赖注入 构造方法注入 ① 根据索引注入 <bean name="student" class="cn.bdqn.SpringDI.Student ...
- MVC入门教程
MVC入门系列教程-视频版本,已入驻51CTO学院,文本+视频学效果更好哦.视频链接地址如下: 点我查看视频.另外,针对该系列教程博主提供有偿技术支持,群号:226090960,群内会针对该教程的问题 ...
- 嵌入式开发 迅为4418开发板Qt移植移动4G模块第一部分
本文转自迅为论坛:http://topeetboard.com 了解更多:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-7744162139 ...
- 基础的POJ学习
OJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: 一. ...
- mysql 开源 ~ canal+otter系列(1)
一 简介: 今天咱们来聊聊 canal和otter的组合搭配吧二 概念统计 1. 基于Canal开源产品,获取数据库增量日志数据. 2. 典型管理系统架构,manager(web管理)+nod ...
- The question that comes to mind
1.在 vue 与小程序中 属性中的小括号是否都可以写表达式 例如: <view checked={{op==1?false:true}}></view>
- linux下 gdb+coredump 调试偶发crash的程序
1. 打开 core dump 查看是否打开 ulimit -c 如果输出0, 说明没有打开. 方法一:使用命令 ulimit -c unlimited 可以打开,但是只对当前终端有效, 方法二: 配 ...
- vmware启动虚拟机发现没权限
前期安装未参与,但了解大致情况: 物理机上安装CentOS7系统,然后安装VMWare,虚拟了几台CentOS6 遇到的问题:物理机重启后,以root进入系统,但打开VMWare显示是普通用户权限,以 ...
- k64 datasheet学习笔记35---Analog-to-Digital Converter (ADC)
0.前言 本文主要介绍K64的ADC部分的特性,内部架构,信号描述及操作接口等 1.简介 1.1.ADC模块特性 线性逐次逼近算法,达16bit分辨率 达到4对差分和24个单端模拟量输入 输出模式 差 ...