要求:

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

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

开始:

使用两个文件:

密码账户文件

文件格式:

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. 0_Simple__cudaOpenMP

    在OpenMP的多线程程序中,各线程分别调用CUDA进行计算.OpenMP的简单示例. ▶ 源代码: #include <omp.h> #include <stdio.h> # ...

  2. 逆向课程第二讲,寻找main入口点

    逆向课程第二讲,寻找main入口点 一丶识别各个程序的入口点 入门知识,识别各个应用程序的入口点 (举例识别VC 编译器生成,以及VS编译生成的Debug版本以及Release版本) 1.识别VC6. ...

  3. 取得 iframe 容器的 URL

    检测所在窗口是否为最外层的窗口,若不是则跳脱包含它的框架 if( window !== window.top ) {    window.top.location = location; } top ...

  4. 让普通 Java 类自动感知 Activity Lifecycle

    背景 在 Android 开发中,我们都很熟悉 Activity 的 Lifecycle,并且会在特定的 Lifecycle 下执行特定的操作.当然,我们清楚 Lifecycle 本身是带有 Andr ...

  5. linux-touch

    linux-touch 用于创建文件或者更新文件的修改日期 命令参数 - d yyyymmdd:把文件的存取或修改时间改为  yyyy年mm月dd日 - a :只把文件的存取时间改成当前时间 - m: ...

  6. EF动态拼接查询

    1.业务中遇到个问题,需要查询如某表的id为1或者2或者3,这里是根据传递参数获取如:传递1,2或者1,3或者1,2,3这里在sql中很好拼接如下: or id= or name=3//3代表另一个字 ...

  7. selenium元素定位

    在网页自动化测试中,我们要让程序自动模拟我们的点击.输入.悬浮.拖动等操作,完成我们的测试用例组. 输入.点击.打开这样的动词,已经包含在了selenium的方法中,可以直接调用(当然你也可以自己写) ...

  8. VMware14.0.0 版本虚拟机安装Ubuntu16.04 LTS版本Linux系统(多图详细步骤)

    一.前期准备工作 1.成功安装完成VMware14软件: 2.去Ubuntu官网下载Ubuntu16.0.4 LTS 版本的镜像文件. 二.安装步骤 1.打开VMware软件,选择<创建虚拟机& ...

  9. c#异步调用的几种方式

    首先,我们分析一下异步处理的环境 需要在当前线程中获取返回值 不需要在当前线程中获取返回值,但是仍然需要对返回值做处理对于第1中情况,还可以继续细分 在当前线程中启动线程T,然后继续执行当前线程中的其 ...

  10. WPF 完美截图 <序>

    最近由于工作需要(话说总是工作需要哈),老大交给个任务,我鼓捣了2个星期,有点心得与大伙共享,希望对同被此问题困扰的同学有所帮助. 费话不说,上图: 此为完成后运行时状态图,先扔在这,下午有空开始正式 ...