要求:

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

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

开始:

使用两个文件:

密码账户文件

文件格式:

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. [J2EE] 有关 PreparedStatement

    今天同事遇到一个问题,简言之,就是PreparedStatement的预编译究竟是怎么发挥作用的... 嘿嘿,说来惭愧,我以前就只知道PreparedStatement比Statement要好,要防S ...

  2. Excel 生成SQL

    '"&A21&"'   Excel 中要做字符串连接 "& + 单元格地址 + &", 如果单纯做测试在某个单元格中测试输出内容 ...

  3. VS2013创建Windows服务

    一.创建服务 1.文件->新建->项目->windows桌面->windows服务,修改你要的项目名称.我这不改名,仍叫WindowsService1,确定. 2.其中的Pro ...

  4. 二:熟悉 TCP/IP 协议

    一篇文章带你熟悉 TCP/IP 协议(网络协议篇二) 同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍. 一图看完本文 一. 计算机网络体系结构分层 计算机网络体系结构分层计算机网络体系结构分 ...

  5. maven---settings.xml配置

    <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...

  6. Android 异步消息处理机制前篇(一):深入理解ThreadLocal

    版权声明:本文出自汪磊的博客,转载请务必注明出处. ThreadLocal简介 ThreadLocal是一个线程内部的数据存储类,通过它可以在指定的线程中存储数据,数据存储以后,只有在指定线程中可以获 ...

  7. Angular 5和ASP.NET Core入门

    我希望你们都知道Angular 5已经发布了.在本文中,我们将看到如何使用Angular5TemplateCore开始使用Angular 5和ASP.NET Core. 使用Angular5Templ ...

  8. Knowledge_SPA——精研查找算法

    首先保证这一篇分析查找算法的文章,气质与大部分搜索引擎搜索到的文章不同,主要体现在代码上面,会更加高级,会结合到很多之前研究过的内容,例如设计模式,泛型等.这也与我的上一篇面向程序员编程--精研排序算 ...

  9. B-树&B+树以及其在数据库中的应用

    B-树&B+树以及其在数据库中的应用 1 .B-树定义 B-树是一种平衡的多路查找树,它在文件系统中很有用. 定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至 ...

  10. Tornado异步

    http://www.tuicool.com/articles/36ZzA3 http://www.dongwm.com/archives/shi-yong-tornadorang-ni-de-qin ...