用python编写简易登录接口
需求:
- 让用户输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后退出程序
- 可以支持多个用户登录
- 用户3次认证失败后,退出程序,再次启动程序尝试登陆时,还是锁定状态
下面是我写的代码,如果有BUG或者不足之处,还请指出。
"""
需要先在本地创建一个名为locked_user.txt的文件,才能执行下面的代码。
"""
import os current_path = os.getcwd() # 获取当面目录
db_username = ['alex', 'wusir', 'oldboy', 'edward'] # 用户名数据库,用户名不能是一样的
db_password = [123, 321, 456, 123123, 123] # 密码可以是一样的 locked_file = open(current_path + '/locked_user.txt') # 打开文件
locked_info = locked_file.readlines() # 获取被锁定用户的信息。readlines一次读取所有文件,并返回list.因为我们不止锁定一个用户,所以用这个方法
locked_file.close() count = 3
while count > 0:
count -= 1
username = input('username:').lower()
if (username + '\n') in locked_info: # 判断用户是否被锁定,加\n是因为下面用了追加模式,每追加一个用户名就重起一行
print('用户名已被锁定')
break
password = int(input('password:'))
if username in db_username and password in db_password: # 用户名和密码都在数据库里才能验证通过
print('welcome')
break
else:
if username in db_username:
if count == 0:
locked_file = open(current_path + '/locked_user.txt', 'a') # 在locked_user.txt里用追加模式储存这个用户名,每追加一个重起一行
locked_file.write(username + '\n')
locked_file.close()
print('登录三次失败,用户名被锁定')
else:
print('用户名或错误,你还有{}次机会'.format(count))
else:
if count == 0:
print('用户名不存在,登陆失败')
else:
print('用户名不存在,你还有{}次机会'.format(count)) """
这个登陆系统有两个缺陷:
1.需要先创建一个名为locked_user.txt的文件才行,否则会报错,目前还不会用代码让python去自动创建名为locked_user.txt的文件
2.其实只有在第三次输入用户名、并且用户名在数据库的时候才会被锁定。不知道一般的网站登录系统是不是这样,是不是系统会判断3次输入一样的用户名才会给锁定。
"""
用python编写简易登录接口的更多相关文章
- 如何使用 Python 编写后端 API 接口
如何使用 Python 编写后端 API 接口 get API Python3 # coding:utf-8 import json # ModuleNotFoundError: No module ...
- Python编写简易木马程序(转载乌云)
Python编写简易木马程序 light · 2015/01/26 10:07 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能 ...
- python练习--1、简易登录接口
function:用于实现简单的用户登录接口. description:用户信息存储于字典中,增加用户需手动写入代码中.最多可以尝试登录9次,首次使用会先在程序目录下创建锁文件.若在用户栏输入quit ...
- 【转载】Python编写简易木马程序
转载来自: http://drops.wooyun.org/papers/4751?utm_source=tuicool 使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马. 首先准备好 ...
- python初步编写用户登录
python初步编写用户登录 python编写用户登录 用python写一个脚本,使得这个脚本在执行后,可以产生如下的效果: 1.用户的账号为:root 密码为:westos 2.用户账号和密码均输 ...
- 关于python怎样编写登录接口
把今天的成果展示下,关于怎么用python编写登录接口, 要求是 1.输入用户名和密码 2.输错三次密码就锁定用户 3.认证成功后输出欢迎信息 账号文件内容如下: sanjiang sanjian ...
- python基础一之课后作业:编写登录接口
1 # Author : Mamba 2 3 #python基础一之课后作业:编写登录接口 4 5 # 输入用户名密码 6 # 认证成功后显示欢迎信息 7 # 用户名3次输入错误后,退出程序 8 # ...
- (转)python编写登录接口
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://506554897.blog.51cto.com/2823970/1907262 ...
- 190327 Python登录接口
#!Author:John # _*_ coding: utf-8 _*_ #编写登录接口 #输入用户名密码 #认证成功后显示欢迎信息 #输错三次后锁定 import sys, os, getpass ...
随机推荐
- 通过sqlserver sa密码修改windows操作系统密码
如果你不记得windows管理员的密码了,但知道sqlserver sa用户的密码,可以通过以下方式修改: 进入SQL之后执行以下语句: -- 允许配置高级选项 EXEC sp_configure ...
- return void ajax
public class UserInfo { private String name; private Integer age; public String getName() { return n ...
- Android 模仿苹果虚拟悬浮按钮(自动靠边、可浮现任何界面上)
由于最近小蔡的手机音量键坏了,调节音量有点麻烦,突发奇想,想自己实现一个快捷键来调节音量.在忘上参考了一些代码,总结出一般本章,分享给大家. 首先 按钮要想实现悬浮在任何界面,那么必须是要写在服务里面 ...
- Garmin APP开发之布局
上一章节介绍了garmin app开发的入门,包括garmin-sdk,开发工具的安装部署,文章结尾我们新建了我们的第一个app程序Garmin开发-入门: http://tieba.baidu.co ...
- CoordinatorLayout使用笔记
CoordinatorLayout的使用笔记 首先第一个子控件是AppBarLayout存放首部控件,里面放了一个CollapsingToolbarLayout.代码如下: <android.s ...
- 51nod 1191 消灭兔子
题目来源: 2013腾讯马拉松赛第三场 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 有N只兔子,每只有一个血量B[i],需要用箭杀死免子.有M种不同类型的箭可以 ...
- bzoj1037 [ZJOI2008]生日聚会
Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: ...
- 谷歌浏览器 加安全地址 快捷方式加参数 chrome
--unsafely-treat-insecure-origin-as-secure="http://192.168.43.17:8080"
- CentOS安装RabbitMQ步骤
1.安装gcc yum install gcc 安装 ncurses-devel yum install ncurses-devel 2.安装erlang 下载安装包 http://www.erlan ...
- 毛毛虫组【Beta】Scrum Meeting 1
第一天 日期:2019/6/23 前言 第一次会议: 时间:6月20日 地点:教9-C404机房 内容:此次会议主要确定组内成员具体分工,并对目标进行了初步的确定. 1.1 今日完成任务情况以及遇到的 ...