要求:

输入用户名密码正确,提示登录成功,

输入三次密码错误,锁定账户。

开始:

使用两个文件:

密码账户文件

文件格式:

jason    23456

tom       56789

tang      345687

boke      567890

密码锁定文件格式:

tom

jason

流程图

代码

使用了

字典:dict()-----将用户文件中的账户密码生成字典,可以对应用户名与密码

生成如此格式:{username1:password1,username2:password2}

循环

使用循环计数账户及密码三次机会,账户三次后提示不存在退出程序,密码三次不正确提示对应账户被锁定

判断

判断账户是否存在及被锁定,密码是否正确

#!/usr/local/python/bin/python
#-*- coding:utf-8 -*-
#Author:辰星心语
import os f = open("user.txt","r")
f2 = open("lockuer.txt","r")
lock_user = f2.readlines()
m = f.readlines()
z = []
#将用户名密码输入为列表
for i in m:
y = i.split()
q = z.append(y)
print(z)
#将用户文件中的账户密码对应成字典方式
dict1 = dict(z)
#为了方便理解输出生成后的字典
print(dict1)
for count in range(4):
user = input("请输入您的账户:")
#判断锁定文件中是否存在输入的用户名密码,若有退出程序
for i in lock_user:
user_lock = i.strip('\n')
if user == user_lock:
print("您的账户已经被锁定!!!")
exit()
#如果锁定文件没有输入的用户名则判断用户是否存在于账户密码所在的字典中
if user in dict1:
print("您的账户输入正确!!")
#账户存在字典之中,执行以程序,三次输入正确密码的机会
for count_p in range(4):
password = input("请输入您的密码:")
#输入密码后判断输入的密码是否与账户匹配,如果匹配则输出欢迎信息并退出程序
if password == dict1[user]:
print("您的密码正确!!!\n欢迎进入系统!!!!")
exit()
else:
#输入密码错误则提示密码错误及可输入密码的次数
print("您输入的密码错误!!!\n请您重新输入密码!!!\n你还有 %s 次机会"%(3-count_p))
#密码输入总共三次,次数使用完后提示密码输入次数太多,冰将账户锁定,写书锁定账户文件中
if count_p == 3:
print("您输入错误的密码次数太多!!!\n您的账号已经被锁定,请联系管理员")
f2 = open("lock.txt","a")
f2.write(user+"\n")
exit()
#判断账户不存在于账户文件中,则有输入超过三次提示账户不正确,并机会用完,退出程序
if count == 3:
print("您输入不正确的账号次数太多\n退出程序")
break
else:
print("账户不存在,请重新输入\n您还有%s次机会"%(3-count))
f.close()
f2.close()

  以上是临时写的,若是有问题或其他建议,也希望大家可以指出来

谢谢

python 初学之账户登录的更多相关文章

  1. Python 爬虫之模拟登录

    最近应朋友要求,帮忙爬取了小红书创作平台的数据,感觉整个过程很有意思,因此记录一下.在这之前自己没怎么爬过需要账户登录的网站数据,所以刚开始去看小红书的登录认证时一头雾水,等到一步步走下来,最终成功, ...

  2. python+selenium模拟京东登录后台

    python+selenium模拟京东登录后台 import json from time import sleep from selenium import webdriver #from sele ...

  3. 练习:python 操作Mysql 实现登录验证 用户权限管理

    python 操作Mysql 实现登录验证 用户权限管理

  4. 症状解决,原因不详的用非默认管理权限账户登录COM注册成功但找不到类型问题

    http://social.msdn.microsoft.com/Forums/en-US/11f01ceb-52a4-438f-b7ef-727ce7a3e191/atl-project-in-vs ...

  5. win10 用微软账户登录无法访问共享的问题

    百度找了一大堆可以解决的,最终最简单的方式(可能是bug): 测试了一下,Win10用微软账户登录的,连局域网共享时,输入用户名的时候,前面加个乱七八糟的域名就可以访问了: 比如: 用户名:   ba ...

  6. ubuntu12.04管理员账户登录不了桌面,只能客人会话登录

    ubuntu12.04管理员账户登录不了桌面,只能客人会话登录 求助!!ubuntu12.04管理员账户登录不了桌面,只能客人会话登录. 登录管理员账户时,输入密码后,一直在登录界面循环 费了好大劲啊 ...

  7. ubuntu12.04管理员账户登录不了桌面,仅仅能客人会话登录

    ubuntu12.04管理员账户登录不了桌面,仅仅能客人会话登录 求助!!ubuntu12.04管理员账户登录不了桌面,仅仅能客人会话登录. 登录管理员账户时,输入password后,一直在登录界面循 ...

  8. python paramiko模拟ssh登录,实现sftp上传或者下载文件

    Python Paramiko模块的安装与使用详解 paramiko是短链接,不是持续链接,只能执行你设定的shell命令,可以加分号执行两次命令. http://www.111cn.net/phpe ...

  9. 测试开发Python培训:模拟登录新浪微博-技术篇

    测试开发Python培训:模拟登录新浪微博-技术篇   一般一个初学者项目的起点就是登陆功能的自动化,而面临的项目不同实现的技术难度是不一样的,poptest在做测试开发培训中更加关注技术难点,掌握技 ...

随机推荐

  1. windows 上rsync客户端使用方法

    1.1 获取 windows上实现rsync的软件(cwRsync) cwRsync是Windows 客户端GUI的一个包含Rsync的包装.您可以使用cwRsync快速远程文件备份和同步. 1.1. ...

  2. 分析Array.apply(null, { length: 5 })

    Array.apply(null, { length: 5 }) 和 Array(5)有什么不同 注意:ES5,apply函数的第二个参数除了可以是数组外,还可以是类数组对象 // 类转成真正的数组 ...

  3. setInterval计时器延时问题

    计时器延时问题 js计时器 使用setTimeout.setInterval函数时,第二个参数的设置的时间间隔t是自该函数(setTimeout(f1,t).setInterval(f1,t))被调用 ...

  4. Linux学习(十九)软件安装与卸载(二)更换yum源

    一.简介 系统自带的源数量有限,而且是国外的源,速度肯定不如国内的.而断网的时候,本地源就可以派得上用处.而RPMForge源是传说中规模最大的一个源.那么接下来我们就来分别配一下本地源,国内源,RP ...

  5. EF错误

    The model backing the 'XXXXDBContext' context has changed since the database was created. Either man ...

  6. mysql多个TimeStamp设置(转)

    原文地址:http://www.cnblogs.com/yjf512/archive/2012/11/02/2751058.html timestamp设置默认值是Default CURRENT_TI ...

  7. Python之函数返回多个值

    #!/usr/bin/env python26 #-*- coding:utf-8-*- def test(): a = 10 b = 20 return a,b #返回一个元组 atuple= te ...

  8. springboot之banner

    1 在Main里面关闭 @SpringBootApplication@MapperScan("org.sselab.mapper")public class Application ...

  9. 那些年我们写js烦的不疼不痒的错误

    1.Js 字符变量不加双/单引号. 列如:var strJsonInfo = '@Html.Raw(ViewBag.JsonInfo)'; 2.js 对象初始化器,最后一个属性值加逗号. 例如:var ...

  10. 逆向知识第十四讲,(C语言完结)结构体在汇编中的表现形式

    逆向知识第十四讲,(C语言完结)结构体在汇编中的表现形式 一丶了解什么是结构体,以及计算结构体成员的对其值以及总大小(类也是这样算) 结构体的特性 1.结构体(struct)是由一系列具有相同类型或不 ...