Python练习-函数版-锁定三次登陆失败的用户
代码如下:
# 编辑者:闫龙
if __name__ == '__main__':
import UserLoginFuncation LoclCount=[];
while True:
UserName = input("用户名:>>")
if(UserLoginFuncation.CheckUserLock(UserName)):
print("用户",UserName,"已被锁定")
continue
PassWd = input("密 码:>>")
if(UserLoginFuncation.UserInfo(UserName,PassWd)):
print("欢迎",UserName,"登陆")
break
else:
LoclCount.append(UserName);
print("用户名或密码错误,您还有",3-LoclCount.count(UserName),"次尝试机会")
if(LoclCount.count(UserName) == 3):
UserLoginFuncation.LockUser(UserName)
print("对不起,尝试次数过多",UserName,"用户已被锁定")
用户登录程序流程控制代码
# 编辑者:闫龙
import os
def CheckUserLock(UserName):
if(os.path.exists("LockUser")):
with open("LockUser","r",encoding="utf8") as ReadLock:
p = ReadLock.readline().split(",")
if(p.count(UserName) != 0):
return True def LockUser(UserName):
if(os.path.exists("LockUser")):
LockFile = open("LockUser", "a", encoding="utf8")
LockFile.write(UserName+",")
LockFile.close()
else:
LockFile = open("LockUser", "w", encoding="utf8")
LockFile.write(UserName+",")
LockFile.close() def UserInfo(UserName,PassWd):
with open("UserInfo",mode="r",encoding="utf8") as userinfo:
p = userinfo.readlines()
for i in p:
i= i.strip().split(":")
if(i[0] == UserName and i[1] == PassWd):
return True
else:
continue
return False
用户登录程序调用函数
egon:123
alex:321
long:666
用户登录文件(UserInfo)
Python练习-函数版-锁定三次登陆失败的用户的更多相关文章
- python day11 函数(第三篇)
2019.4.11 S21 day11笔记总结 1. 函数小高级 ( 5* ) 1 函数名可以当作变量来使用 def func(): print(123) v1 = func # func代表函数的地 ...
- Python三次登陆
题目:Python实现三次登陆 不要急于马上把三次登陆写出来,一定要将复杂的程序简单化,必须一步一步地去扩展,这样才保证不会出错. 步骤一:实现简单的一次登陆 # 事先定义 user = 'dark_ ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- Python——函数入门(三)
一.变量作用域 当程序定义一个变量时,这个变量是有它的作用范围的,变量的作用范围称为变量的作用域.根据变量的位置,分为两种: 局部变量:局部变量就是在函数中定义的变量,包括参数,都是局部变量,局部离开 ...
- 对Python中函数参数类型及排序问题,三个方面的总结
Python中函数的参数问题有点复杂,主要是因为参数类型问题导致的情况比较多,下面来分析一下. 参数类型:缺省参数,关键字参数,不定长位置参数,不定长关键字参数. 其实总共可以分为 位置参数和关键字参 ...
- 学以致用三十二-----python中函数的括号使用
一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大看困惑. 今天来总结下. class aaa(): y = 'you' def __init__( ...
- python小练习:用户三次登陆, 购物车
2018.12.1 周末练习: 1.用户三次登陆 from random import randint i = 1 while i < 4: num = 0 verify_code = '' w ...
- 廖雪峰网站:学习python函数—函数参数(三)
1.*args # 位置参数,计算x2的函数 def power(x): return x * x p = power(5) print(p) # 把power(x)修改为power(x, n),用来 ...
- Python虚拟机函数机制之参数类别(三)
参数类别 我们在Python虚拟机函数机制之无参调用(一)和Python虚拟机函数机制之名字空间(二)这两个章节中,分别PyFunctionObject对象和函数执行时的名字空间.本章,我们来剖析一下 ...
随机推荐
- C语言以字符形式读写文件
一.字符读取函数 fgetc (一).函数介绍 fgetc 是 file get char 的缩写,意思是从指定的文件中读取一个字符.函数原型为: int fgetc(FILE* fp) fp 为文件 ...
- 命令行方式操作O365
这几天公司为O365启用了双因子认证,期间出了些小问题,导致我无法使用管理员账号登入控制台,但是Powershell的方法依旧可以.所以我觉得还是有必要把图形化操作改成脚本操作,以备不时之需.以后凡是 ...
- [知乎]SSD的延迟
以及一些SSD的性能数据
- [转帖]什么高速线缆DAC?有了有源光缆AOC为何还选择DAC?
什么高速线缆DAC?有了有源光缆AOC为何还选择DAC? http://www.eefocus.com/gigalight2006/blog/17-12/426177_88485.html 2017- ...
- ACM数论之旅11---浅谈指数与对数(长篇)(今天休息,不学太难的数论> 3<)
c/c++语言中,关于指数,对数的函数我也就知道那么多 exp(),pow(),sqrt(),log(),log10(), exp(x)就是计算e的x次方,sqrt(x)就是对x开根号 pow()函数 ...
- POJ2699_The Maximum Number of Strong Kings
这题目,,,真是...诶.坑了好久. 给一个有向图.U->V表示U可以打败V并得一分. 如果一个人的得分最高,或者他打败所有比自己得分高的人,那么此人就是king. 现在给出每个人的得分,求最多 ...
- unable to create new native thread
一.认识问题: 首先我们通过下面这个 测试程序 来认识这个问题:运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse ...
- 解题:BZOJ 2818 GCD
题面 转化一下题目,即是求$1$到$n$中对于某个素数$pri$使得$gcd(x*pri,y*pri)=pri$的$(x,y)$的数目 这样一来就可以考虑每个质数$pri$对答案的贡献,即为$1$到$ ...
- 笛卡尔树Cartesian Tree
前言 最近做题目,已经不止一次用到笛卡尔树了.这种数据结构极为优秀,但是构造的细节很容易出错.因此写一篇文章做一个总结. 笛卡尔树 Cartesian Tree 引入问题 有N条的长条状的矩形,宽度都 ...
- 图解HTTP(六)HTTP首部
一.HTTP报文的结构: 二.4种首部字段: 1. 通用首部字段 请求报文和响应报文都会使用的首部. 首部字段名 说明 Cache-Control 控制缓存行为 Connection 逐跳首部.连接的 ...