简单的登陆

要求:

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. 关于在linux python源文件头部添加 “#!/usr/bin/env python” 不能直接运行的问题

    如果环境变量设置正确 如果文件是从windows拷贝到linux中的 可能是换行符造成的.试试dos2unix命令,或相似的命令,把dos格式的换行符转为unix格式.

  2. 运算符-----------instanceof

  3. 如何运行jnlp文件

    运行DOS命令: C:\Users\thinkpad>javaws D:\***.jnlp 如提示“应用程序已被java安全阻止”则进入控制面板->Java  打开java控制面板,在安全 ...

  4. BZOJ_1304_[CQOI2009]叶子的染色_树形DP

    BZOJ_1304_[CQOI2009]叶子的染色_树形DP Description 给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根.内部结点和叶子均可)着以黑色或白 ...

  5. RT-Thread信号量使用(动态/静态信号量) 及 信号量的四种使用场合

    信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用.在进入一个关键代码段之前,线程必须获取一个信号量:一旦该关键代码段完成了 ...

  6. ZigBee协议

    转载地址http://www.feibit.com/bbs/viewthread.php?tid=140&extra=page%3D1   WSN/Zigbee开源协议栈 1.    msst ...

  7. Java中的内部类介绍(1)

    栗子1: package campu; //外部类 class Out{ private int age =12; //内部类 class In{ public void print(){ Syste ...

  8. python2 + selenium + eclipse 中,通过django生产数据库表的时候报错

    python2 + selenium + eclipse 中,通过django生产数据库表的时候报错 解决: 1.查看自己电脑中,“开始-->控制面板-->管理工具-->服务--&g ...

  9. Java日志:集成slf4j和logback

    Java日志方案有很多,包括:java.util.logging.Apache的commons-logging和log4j.slf4j以及logback. 一个大型项目会用到众多第三方jar包,这些j ...

  10. nodejs链接mysql

    使用mysql连接池:1.安装mysql支持npm install mysql 2.安装node.js的mysqlpool模块npm install -g node-mysql //-g表全局 3.直 ...