Python学习---------登陆系统代码实现
题目要求:
一、编写登陆入口
1.输入用户名密码
2.认证成功后显示欢迎的信息
3.输错三次后锁定
Readme:
1.本次实现了登陆系统,若锁定就输出为锁定用户(锁定信息保存在user_lock.txt中,以每个用户为一行存储);若没有锁定就输入密码,判断密码对错(账户保存在user_info.txt文件中,以账户:密码存储为一行依次存储)若正确输出欢迎进入系统;若错误三次锁定用户。
2.之前没有找到能够循环找出第二、三以及跟多的用户的,
3.txt文件建立好,信息按照上面存储,运行即可
思维导图:

代码如下:
# -*- Coding:utf-8 -*-
# Author:Eric.Shen
#2018.02.06
# 一、编写登陆入口
# 1.输入用户名密码
# 2.认证成功后显示欢迎的信息
# 3.输错三次后锁定 print("""
***************************************************************
** **
** **
** Welcome into the landing system **
** **
** by:Eric.Shen **
***************************************************************
""") #判断是否为锁定用户
def judge_lock_user():
username = input("请输入你的用户名:")
f = open("user_lock.txt","r+")
for line_list in f.readlines():
if username == line_list:
exit("你的账户已经被锁定!")
f.close()
return username#返回刚才输入的用户名字,供下面使用 def judge_password(username):
num = 0
while num < 3:
password = input("请输入你的密码:")
f_user = open("user_info.txt", "r")
for line in f_user.readlines():
line = line.strip()#去掉最后的换行符
index,item = line.split(":") # 以冒号为分解赋值
if index == username and item == password:
f_user.close()
exit("欢迎%s进入系统" % (username))
if num <3:
num += 1
if num <= 2:#没有机会就不输出下面这句话了
print("密码错误,请重新输入,你还有%s此输入机会" % (3 - num))
elif num == 3:#写入user_lock
f_lock = open("user_lock.txt","a")
f_lock.write("\n"+str("%s"%(username)))
f_lock.close()
exit("你的账户已经被锁定")
else:
print("程序退出") if __name__ == "__main__":
#判断是否为锁定用户
name = judge_lock_user() judge_password(username = name)
#不是,则判断密码是否正确
Python学习---------登陆系统代码实现的更多相关文章
- python学习 登陆验证
#!/usr/bin/env python #-*- coding=utf-8 -*- #----------------导入模块------------------------------ impo ...
- python学习 —— 获取系统运行情况信息并在Linux下设置定时运行python脚本
代码: # -*- coding:utf-8 -*- from psutil import * def cpu_usage_rate(): for i, j in zip(range(1, cpu_c ...
- Python学习—(windows系统下)安装pygame
浏览器搜索pygame的windows安装程序,下载与python版本相匹配的文件. 如果.exe文件直接运行: 如果.whl文件,将其复制到要用到的项目文件夹中,在cmd窗口中切换到该文件所在的文件 ...
- Python学习1,代码
看了好久的网上视频,今天尝试着写了一串代码: _author_ = "Happyboy" produce_list = [ ('Iphone',5800), ('Mac Pro ...
- [python学习篇][系统学习][1]python标准库中文、英文网址(一些内建函数,标准库都可以在这里查找)
http://docspy3zh.readthedocs.io/en/latest/library/ 半中文网址 http://usyiyi.cn/translate/python_278/lib ...
- python学习_Linux系统的常用命令(二)
linux基本命令: 1.ls 的详细操作: ls - l : 以列表方式显示文件的详细信息 ls -l -h: 以人性化的方式显示文件的大小 ls -l -h -a 显示所有的目录和文件,包括隐藏文 ...
- python学习---50行代码实现图片转字符画2
from PIL import Image codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<> ...
- python学习---50行代码实现图片转字符画1
转自:https://blog.csdn.net/mm1030533738/article/details/78447714 项目链接: https://www.shiyanlou.com/cours ...
- python开发基础作业01:模拟登陆系统
随老男孩学习python mark 作业要求及提示:编写登录接口 ''' 练习程序:编写登录接口 1. 输入用户名和密码 2. 认证成功后显示欢迎信息 3. 输错三次后锁定 输入三次后退出,下次同样用 ...
随机推荐
- jqgrid 设置行编辑为本地端编辑状态
有时,我们需要在jqgrid表格中做编辑操作,而jqgrid默认是启动了行保存连接到服务器更新.此时,如果没有指定editurl的有效url值时会报错 有时,我们需要将编辑完的表格数据一次性提交保存( ...
- qmlscene: could not find a Qt installation of ''
qt └── helloqt.qml 在qt目录下运行helloqt.qml文件时出现这个提示: $ qmlscene helloqt.qml qmlscene: could not find a Q ...
- 树形DP 复习
树形DP 树形DP:建立在树上的动态规划 一般有两种传递方式:根→叶或叶→根 前者出现在换根DP中,一般操作是求出某一个点的最优解,再通过这一个点推知其他点的最优解. 后者是树形DP的常见形式,一般树 ...
- Ubuntu学习总结-01 安装Ubuntu
Ubuntu(友帮拓.优般图.乌班图)是一个以桌面应用为主的开源GNU/Linux操作系统,Ubuntu 是基于Debian GNU/Linux,支持x86.amd64(即x64)和ppc架构,由全球 ...
- 2017-2018-2 20155203《网络对抗技术》Exp2 后门原理与实践
基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 通过下载带后门的程序或者点开带有后门的软件,或者后门本身就在我的系统里: (2)例举你知道的后门如何启动起来(win及linux) ...
- Compensating-Transaction模式
在应用中,会将一系列相关的操作定义为一个连续的操作,当其中一个或者多个步骤失败的时候,Compensating-Transaction模式会重置(回滚)这个连续的操作.在云应用中,这些需要保证一致性的 ...
- 使用 Vue.js 2.0+ Vue-resource 模仿百度搜索框
使用 Vue.js 2.0 模仿百度搜索框 <!DOCTYPE html> <html> <head> <meta charset="utf-8&q ...
- [CF1059E]Split the Tree[贪心+树上倍增]
题意 给定 \(n\) 个节点的树,点有点权 \(w\) ,划分成多条儿子到祖先的链,要求每条链点数不超过 \(L\) ,和不超过 \(S\),求最少划分成几条链. \(n\leq 10^5\) . ...
- TensorFlow训练MNIST数据集(1) —— softmax 单层神经网络
1.MNIST数据集简介 首先通过下面两行代码获取到TensorFlow内置的MNIST数据集: from tensorflow.examples.tutorials.mnist import inp ...
- Jmeter(九)_获取JDBC响应做接口关联
在之前的文章-参数关联中,留个一个小尾巴,这里补充一下 http://www.cnblogs.com/Zfc-Cjk/p/8295495.html 1:从sql表中将需要取的数据查出来 2:我们需要把 ...