代码如下:

 # 编辑者:闫龙
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练习-函数版-锁定三次登陆失败的用户的更多相关文章

  1. python day11 函数(第三篇)

    2019.4.11 S21 day11笔记总结 1. 函数小高级 ( 5* ) 1 函数名可以当作变量来使用 def func(): print(123) v1 = func # func代表函数的地 ...

  2. Python三次登陆

    题目:Python实现三次登陆 不要急于马上把三次登陆写出来,一定要将复杂的程序简单化,必须一步一步地去扩展,这样才保证不会出错. 步骤一:实现简单的一次登陆 # 事先定义 user = 'dark_ ...

  3. 第三章:Python基础の函数和文件操作实战

    本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...

  4. Python——函数入门(三)

    一.变量作用域 当程序定义一个变量时,这个变量是有它的作用范围的,变量的作用范围称为变量的作用域.根据变量的位置,分为两种: 局部变量:局部变量就是在函数中定义的变量,包括参数,都是局部变量,局部离开 ...

  5. 对Python中函数参数类型及排序问题,三个方面的总结

    Python中函数的参数问题有点复杂,主要是因为参数类型问题导致的情况比较多,下面来分析一下. 参数类型:缺省参数,关键字参数,不定长位置参数,不定长关键字参数. 其实总共可以分为 位置参数和关键字参 ...

  6. 学以致用三十二-----python中函数的括号使用

    一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大看困惑. 今天来总结下. class aaa(): y = 'you' def __init__( ...

  7. python小练习:用户三次登陆, 购物车

    2018.12.1 周末练习: 1.用户三次登陆 from random import randint i = 1 while i < 4: num = 0 verify_code = '' w ...

  8. 廖雪峰网站:学习python函数—函数参数(三)

    1.*args # 位置参数,计算x2的函数 def power(x): return x * x p = power(5) print(p) # 把power(x)修改为power(x, n),用来 ...

  9. Python虚拟机函数机制之参数类别(三)

    参数类别 我们在Python虚拟机函数机制之无参调用(一)和Python虚拟机函数机制之名字空间(二)这两个章节中,分别PyFunctionObject对象和函数执行时的名字空间.本章,我们来剖析一下 ...

随机推荐

  1. CSS 报错

  2. Python高级特性:Python迭代、生成器、列表生成式

    迭代 给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历称为迭代(Iteration). 在java和C语言中,迭代是通过循环list的下标来完成的,Pyth ...

  3. SpringBoot(四)_Spring Data JPA的使用

    JPA 绝对是简化数据库操作的一大利器. 概念 首先了解 JPA 是什么? JPA(Java Persistence API)是 Sun 官方提出的 Java 持久化规范.它为 Java 开发人员提供 ...

  4. vue & button & refs & click & bug

    vue & button & refs & click & bug $refs.btn.click() ??? vue & refs $refs.btn.$em ...

  5. mybatis的setting

    在mybaits中,setting的的配置参数如下(如果不在配置文件中配置将使用默认值): 设置参数 描述 有效值 默认值 cacheEnabled 该配置影响的所有映射器中配置的缓存的全局开关 tr ...

  6. hdu4285-circuits

    题意 一个 \(n\times m\) 的方格纸,有一些格子不能走.给出一个 \(k\) ,求有多少种方案,用 \(k\) 个不相交,不嵌套 的环覆盖所有可以走的格子.\(n,m\le 12\) . ...

  7. poj 2185

    http://poj.org/problem?id=2185 题意:求最小的模式块,使其无限扩展后包含给你的矩阵块(看别人题解才懂的题意): 分析:假设存在一个模式块可以满足上述条件,那么必然存在一个 ...

  8. matplotlib删除地图投影上的等值线及风场

    [前言]最近在编写一个气象应用程序,用来显示某一时刻某一地区的气温等值线和风场,程序主要用到了第三方库matplotlib及Basemap.在编写的过程中发现,如果不进行擦除操作直接绘制新的等值线或风 ...

  9. 安装linux系统后调优及安全设置

    环境说明: [root@server1 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@server1 ~]# uname - ...

  10. ---web模型 --mvc和模型--struts2 入门

    关于web模型: 早期的web 应用主要是静态页丽的浏览〈如新闻的制监),随着Internet的发展,web应用也变得越来越复杂,不仅要 和数据库进行交互 ,还要和用户进行交互,由此衍生了各种服务器端 ...