python什么是接口设计_python——登陆接口设计(循环方法)

近日重新整理了登陆接口设计程序,感觉以前的代码没有注释,让园子的其他童鞋读起来比较费劲。也没有流程图和程序运行说明。

1.流程图

2.user_file.txt&lock_file.txt文件内容

(1) user_file.txt

Abel 123

Bbel 1234

Cbel 123456

(2) lock_file.txt

Dbel

3.程序运行说明

(1)输入用户名,程序对比lock_file.txt。如果存在则提示该用户已经被锁定,退出程序。

(2)程序查找用户名是否在user_file.txt中,如果不在提示用户,并退出程序。

(3)用户输入密码,连续输入三次以内,密码正确。提示欢迎,并退出程序。

(4)密码连续输入错误3次,提示用户已经被锁定,并将用户名写入lock_file.txt中。退出程序。

4.程序代码

import os

user_file = open('use_file.txt', 'r') # 打开user_file.txt

user_list = user_file.readlines() # 一次性将user_file.txt中的内容加载到内存中

user_file.close() # 关闭user_file.txt

while True:

lock_file = open('lock_file.txt', 'r+') # 打开lock_file.txt

lock_list = lock_file.readlines() # 将lock_file.txt中的内容加载到内存中

lock_file.close() # 关闭lock_file.txt

login_Success = False # 设置标记位,用于跳出循环

user_name = input('Please enter your name:'.strip()) # 输入用户名

for line1 in lock_list:

line1 = line1.split() # 将lock_file.txt中的信息读取到line1中

if user_name == line1[0]: # 如果用户名在line1中提示信息并退出整个程序

print("对不起!您的用户名已经被锁定,请联系网站管理员。")

exit()

for line2 in user_list:

line2 = line2.split() # 将user_file.txt中的信息读取到line2中

if user_name == line2[0]: # 如果用户名在line2中进入for循环(输入密码三次错误锁定)

for i in range(3): # 计数器,记录密码输入错误次数

password = input('Please enter your password'.strip()) # 输入密码

if password == line2[1]: # 如果password在line2[1]中,显示欢迎信息,并退出整个程序

print("欢迎 %s 登陆Abel网站!" % user_name)

login_Success = True

break

else: # 密码输入错误次数超过3次,将用户名写入lock_file.txt中

f = open('lock_file.txt', 'a')

f.write('%s\n' % user_name)

f.close()

print("连续输入3次错误密码,您的用户%s已经被锁定,请联系网站管理员。" % user_name) # 提示用户已经锁定,并退出整个程序

login_Success = True

break

if login_Success:

break

else: # 用户名不在line2中,提示用户名不存在。并退出整个程序

print("您输入的用户名不存在,请重新输入或注册")

exit()

if login_Success:

break

Python之登陆接口设计

刚刚开始学习Python,第一个编写的程序. import os user_file = open('use_file.txt', 'r') user_list = user_file.readlin ...

python 登陆接口

#!/usr/bin/env pythonimport sysname = ''pw=''name_num = 0pw_num = 0#black_list = []with open('a.txt' ...

python登陆接口编写

#coding:utf-8 import getpass,sys i=0 j=0 while i<3: username=raw_input('username:') #输入用户名 life_1 ...

像计算机科学家一样思考python-第4章 案例研究:接口设计

系统环境 ubuntu18 4.1turtle模块 模块一开始导入turtle模块就报错了 Python ( , ::) [GCC ] on linux Type "help", ...

python 作业 编写登陆接口

# -*- coding:utf-8 -*-import os,sysfor i in range(3):#进行3次循环 blacklist = open(r"C:\Users\Pc4\De ...

Python基础-接口与归一化设计、抽象类、继承顺序、子类调用父类,多态与多态性

一.接口与归一化设计 Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 由 ...

python之编写登陆接口(第一天)

作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 针对此实例写了有二种类型的脚本,略有不同,具体如下: 帐号文件account.txt内容如下: sam 123 david ...

优秀的API接口设计原则及方法(转)

一旦API发生变化,就可能对相关的调用者带来巨大的代价,用户需要排查所有调用的代码,需要调整所有与之相关的部分,这些工作对他们来说都是额外的.如果辛辛苦苦完成这些以后,还发现了相关的bug,那对用户的 ...

Python学习之编写登陆接口(Day1,作业一)

作业一:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定(下次登陆还是锁定) 知识点:while循环,for循环,文件操作,if判断,列表操作 思路: 1.登陆,三次登陆失败,锁定 ...

随机推荐

ZKM混淆工具

原创文章,尊重劳动,转载请标明出处 ZKM 介绍 一般使用步骤 直接使用 ZKM 脚本 使用 GUI 工具混淆,同时生成 ZKM 脚本 参考 ZKM 介绍 zkm 是一款付费的代码混淆工具. 一般使用 ...

高效率http页面优化法则一【JS对DOM的操作】

高效http页面优化法则一很多人都认为JS的效率太慢了,都不愿意用js来实现相对困难一点的程序逻辑.在这里我要说的是其实js的效率并不慢,慢的是DOM,如果操作好DOM,你的js效率将提高接近千倍(这 ...

9 个让 JavaScript 调试更简单的 Console 命令

一.显示信息的命令

常用console命令 &lt ...

csv 导入到 access中去

Csv中有500万数据,导入到Access中去,每6万条数据为1Table 先是参照着http://support.microsoft.com/kb/257819/zh-cn来写 1.找不到可安装的  ...

全国计算机等级考试二级教程-C语言程序设计&lowbar;第7章&lowbar;函数

函数执行,从右到左执行 #define _CRT_SECURE_NO_WARNINGS #include #include main() ...

gpu显存(全局内存)在使用时数据对齐的问题

全局存储器,即普通的显存,整个网格中的随意线程都能读写全局存储器的任何位置. 存取延时为400-600 clock cycles  很easy成为性能瓶颈. 訪问显存时,读取和存储必须对齐,宽度为4B ...

【python】列表

>>> mix = [2,3.4,"abc",'中国',True,['ab',23]]>>> mix[2, 3.4, 'abc', '中国', ...

Python爬虫开发与项目实战

Python爬虫开发与项目实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1MFexF6S4No_FtC5U2GCKqQ 提取码:gtz1 复制这段内容后打开百度 ...

《温故而知新》JAVA基础一

一:基本环境 种类 javaSE(核心语法)+javaME(移动设备)+Java EE(JSP/服务等) JVM(java虚拟机) abc.java(源文件)--编译器--abc.class 字节码文 ...

Python基础(8)——常见模块

模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser has ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值