简单的登陆

要求:

1.用户名输错3次,系统退出

2.密码输错3次,账号被禁用

3.使用文件操作知识

流程图:

项目代码:

 def login():
i=0
while i <3 :
name = input("username:")
password = input('password:')
name_txt=open('uname.txt','r')
for line in name_txt.readlines(): #循环用户文件
(uname,passwd,lock) = line.strip('\n').split()#提取用户名,密码,跟锁信息
if uname == name:
if lock == 'true':
f = 0
while f < 3:
if passwd != password:
if f == 2:
print('账号/密码错误过多,账号已被锁定,请联系管理员')
old = uname + ' ' + passwd + ' ' + lock + '\n' #组合原来的用户信息
new_lock = 'fales'
new = uname + ' ' + passwd + ' ' + new_lock + '\n' #组合新的用户信息
d_f = open('uname.txt', 'r')
d = d_f.read().replace(old, new) #读取旧的用户信息,并替换
d_f.close()
print(d)
g_f = open('uname.txt', 'w+') #以写读方式打开原有文件(如果觉得不保险,可以将老文件备份,写入新的文件中)
g = g_f.write(d) #写入新的用户信息到文件
g_f.close()
name_txt.close()
exit(1)
else:
f += 1
print('账号/密码错误,还剩%s次' % (3 - f))
password = input('password:') #让用户重新输入密码
else:
print('Welcom') #登陆成功
name_txt.close()
exit(0)
# else:
# print('账号/密码错误过多,账号已被锁定,请联系管理员')
# name_txt.close()
# exit(1)
else:
print('账号已被锁定,请联系管理员')
name_txt.close()
exit(1)
else:
pass #按行搜索用户,没有搜索到就PASS让循环继续
else:
i += 1
if i == 3:
print("账号/密码错误次数过多,已被锁定,请联系管理员")#账号不存在(防止人刷账号,所以提示为这个)
name_txt.close()
exit(1)
else:
print("账号/密码有误,请重新输入")
continue
if __name__ == '__main__':
login()

简单登陆

python之简单登陆的更多相关文章

  1. Python实现简单登陆验证(文件操作)

    利用python编写一个简单的登陆验证 代码主要功能: 利用Python实现简单的登陆验证,代码主要有两个部分组成: 第一部分:登陆页面,作用是实现用户名和密码的输入 利用两个输入函数input()来 ...

  2. 利用python实现简单登陆注册系统

    #!/usr/bin/env python # -*- coding:utf-8 -*- def login(username,password): ''' :param username:用户名 : ...

  3. python实现简单登陆代码

    #-*-coding:utf-8 -*- import getpass i1 = raw_input("UserName:") #请输入用户名 i2 = getpass.getpa ...

  4. python编写简单的html登陆页面(4)

    python编写简单的html登陆页面(4)   1  在python编写简单的html登陆页面(2)的基础上在延伸一下: 可以将动态态分配数据,建立表格,存放学生信息 2 实现的效果如下: 3  动 ...

  5. python编写简单的html登陆页面(3)

    1  在python编写简单的html登陆页面(2)的基础上在延伸一下: 可以将静态分配数据,建立表格,存放学生信息 2  加载到静态数据 3  html的编写直接在表格里添加一组数据就行了 4  V ...

  6. python编写简单的html登陆页面(2)

    1  在python编写简单的html登陆页面(1)的基础上在延伸一下: 可以将动态分配数据,实现页面跳转功能: 2  跳转到新的页面:return render_template('home1.ht ...

  7. Python tkinter 实现简单登陆注册 基于B/S三层体系结构,实现用户身份验证

    Python tkinter 实现简单登陆注册 最终效果 开始界面 ​ 注册 登陆 ​ 源码 login.py # encoding=utf-8 from tkinter import * from ...

  8. Python 实现简单的 Web

    简单的学了下Python, 然后用Python实现简单的Web. 因为正在学习计算机网络,所以通过编程来加强自己对于Http协议和Web服务器的理解,也理解下如何实现Web服务请求.响应.错误处理以及 ...

  9. 【小白学爬虫连载(10)】–如何用Python实现模拟登陆网站

    Python如何实现模拟登陆爬取Python实现模拟登陆的方式简单来说有三种:一.采用post请求提交表单的方式实现.二.利用浏览器登陆网站记录登陆成功后的cookies,采用get的请求方式,传入c ...

随机推荐

  1. leetcode 43. Multiply Strings(高精度乘法)

    Given two numbers represented as strings, return multiplication of the numbers as a string. Note: Th ...

  2. C字符串末尾的'\0'问题

    C语言的字符串要注意最后一位默认是'/0'的问题.这是一个易错点. strlen()计算长度时不考虑末尾的'\0' //例1 void test1() { ]; "; strcpy( str ...

  3. Posix线程编程指南(2)

    这是一个关于Posix线程编程的专栏.作者在阐明概念的基础上,将向您详细讲述Posix线程库API.本文是第2篇将向您讲述线程的创建与取消. 一.概念及作用在单线程程序中,我们经常要用到"全 ...

  4. 为什么修改头文件make不重新编译

    make是根据依赖文件的时间戳来决定要不要重新编译的.在: object: deplist # actions 中,可以把头文件加进deplist,这样修改头文件后,make就会重新编译了. 单纯地修 ...

  5. android自定义控件(二) 入门,继承View

    转载请注明地址:http://blog.csdn.net/ethan_xue/article/details/7313788 ps: 可根据apidemo里LableView,list4,list6学 ...

  6. thinkjs,promise

    thinkjs是奇舞团开源的一款NodejsMVC框架,该框架底层基于Promise来实现,很好的解决了Nodejs里异步回调的问题. 可参考: http://www.thinkjs.org/ htt ...

  7. mysql建表练习

    create table class( cid int primary key auto_increment, caption ) not null )engine=innodb; create ta ...

  8. Jasper:目录/资源

    ylbtech-Jasper:目录/资源 1. 官网返回顶部 1. https://www.jasper.com/ 2. 2.返回顶部 1. http://api.jasperwireless.com ...

  9. Apache日志解读

    想要知道什么人在什么时候浏览了网站的哪些内容吗?查看Apache的访问日志就可以知道.访问日志是Apache的标准日志,本文详细解释了访问日志的内容以及相关选项的配置. 一.访问日志的格式  Apac ...

  10. CodeForces 287B Pipeline (水题)

    B. Pipeline time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...