Python基础-用户验证

一、项目需求

  1、根据用户名和密码,验证用户是否可登陆

  2、允许一次执行可验证三次

  3、当用户名输错三次后,该用户名锁定,永久不可登陆

二、代码如下

  

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 import operator
 4 n = 0
 5 username="user123"
 6 password="123.abc"
 7 count_dict={}
 8 with open("lock",mode="r+",encoding="utf8") as f_read,open("lock_tmp",mode="r+",encoding="utf8") as f_write:
 9     while n<3:
10         name=input("please input username:").strip()
11         pwd=input("please input passwd:").strip()
12         for line in f_read:
13             if name in line:
14                 print("当前用户已经被锁定,请联系管理员!!")
15                 exit()
16         if name == username and pwd == password:
17             print("欢迎%s登录"%username)
18             exit()
19         else:
20             print("用户名或密码错误,请重新输入!")
21             f_write.write(name+"\n")
22         n+=1
23
24     for line in f_write.readlines():
25         line = line.strip()
26         count = count_dict.setdefault(line,0)
27         count+=1
28         count_dict[line]=count
29     for k in count_dict.keys():
30         print(k)
31         print(count_dict[k])
32         if count_dict[k] >= 3:
33             f_read.write(k+"\n")

时间: 2024-11-06 11:48:39

Python基础-用户验证的相关文章

python基础:用户登陆接口

个人练习(一) 刚入门的一个小白,找本书看完了基础,自己根据条件写了一个简单的小练习: 这个接口主要实现1.在本目录下创建一个保存账户和密码的txt文件 2.支持用户自我创建账户和密码 3.能够查询到用户的数量 4.如果更改掉基于目录下创建的txt文件,可能会导致错误 算是我自学记录努力的一个过程,每天不断在学习中!有什么多余或者更好的建议往大神指点指点..帮助下我这小白... 代码如下: def Main(): #选择界面自动运行函数 is_choice = Prompt() #is_choi

Python基础(Django三——Model)

本篇内容接上篇Python基础(Django二) 七.Model 1.说明: Model是Django为方便程序操作数据库而诞生的,使用的是ORM模式. 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.简单的说,ORM是通过使用描述对象和数据库之间映射的关系,将程序中的对象自动持久化到关系数据库中. 2.使用: 2-1.创建Model(编辑应用目录下的models.py) from django.db

Day4 - Python基础4 迭代器、装饰器、软件开发规范

Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 孩子,我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里的每个值加1,你怎么实现?你可能会想到2种方式 >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>

python基础教程(一)

之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是py编写的(而且google的网站也是py) 安装与运行交互式解释器 在绝大多数linux和 UNIX系统安装中(包括Mac OS X),Python的解释器就已经存在了.我们可以在提示符下输入python命令进行验证(作者环境ubuntu) [email protected]:~$ python

Python基础-day01

写在前面 先后接触过很多编程语言,最喜欢的就是C和Python,相比其他语言,C 是神器,优点太多了:个人而言,C 最重要的一点就是能够让你在敲代码的时候是以一个计算机科学家的角度去思考,而不是仅仅停留在程序表面: 而Python很简单.实用:可以节省很多开发时间,Life is short, use Python.  他的简单之美也符合Unix/Linux 哲学:KISS(Keep It Simple, Stupid.) 这次来学习不仅仅是想写一些基础的脚本,而是想深入.全面的接触Python

python基础教程_学习笔记8:序列_练习与总结_1

序列_练习与总结 每次处理一个字符 任务: 用每次处理一个字符的方式处理字符串. 方案: 可以创建一个列表,列表的子项是字符串的字符.python实际上并没有一个特别的类型来对应"字符"并以此和字符串区分开来.可以调用内建的list,用字符串作为参数: thelist=list(thestring) 也可以不创建一个列表,直接用for语句完成对该字符串的循环遍历: for c in thestring: do_something_with(c) 或者使用列表推导中的for来遍历: re

Python 基础知识点总结

本篇基于Python 2.7.9 根据廖雪峰Python教程整理 URL:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 安装及IDE 上Python官网下载安装包. 配置环境变量:C:\Python27. cmd中输入 python 出现信息则为安装正确. IDE推荐集成在Eclipse上的pydev,eclipse插件安装路径:http://pydev.org/updates

Python基础(Django二)

本篇内容接上篇Python基础(Django) 六.Form 说明:Django中的From有两种功能,一是将自己显示成HTML,二是校验数据. 个人认为显示成HTML这个功能不太方便,因为显示样式不太好调整,建议只使用Form的校验数据的功能,所以这里对于样式的设置不做介绍,着重介绍校验数据的功能. Form的使用大概分为三个步骤: 首先定义一个类:类中的每一个字段都是Form的一个属性 然后根据类创建对象并定义校验方法:将创建的对象返回给前端的HTML页面引用,可生成相应的HTML代码.(同

Python基础知识两部曲:二

如果没有看基础部分第一章,请前往Python基础知识两部曲:一 8.函数 1.定义函数: 使用关键字def来告诉python你要定义一个函数 接着指出函数名:如下面函数名是--greet_user ()是必须带上的,这里可以可以传递一些参数,也可以不传 以:结尾,且与后面所有的缩进构成了函数体 调用函数直接写上函数名,如果有参数记得带上参数 1. 无参数的函数: def greet_user(): """显示简单的函数体""" print(&qu