Python基础练习之用户登录实现代码分享


Posted in Python onNovember 08, 2017

python版本为python3.5

1.要求

1)输入用户名密码
2)认证成功后显示欢迎信息
3)输错三次后锁定

2.需求分析

1)用户信息存储在文件中(login/config/user_login.txt)
2)用户输入用户名和密码
3)判断用户名是否存在,存在则继续,不存在则提示继续输入
4)判断输入的用户名是否已经被锁定,如果已锁定则退出程序,否则继续
5)匹配文件中的用户信息
6)如果匹配则打印出欢迎信息
7)如果输入3次密码错误,则锁定该用户名(login/config/name_lock.txt)

3.测试用户

bigberg:123abc
lc:123456
smallberg:111111
root:12345
dinasor:12321

# -*- coding: UTF-8 -*-
#Author:Bigberg
#定义一个循环计数
count = 0
#定义一个字典存储用户名和密码
names={}
#定义一个列表存储用户名
name_exit = []
#输入用户名
username = input("username:")
#判断输入的用户的用户是否在用户名单中
with open("../config/name_login.txt",'r') as f:
  while True:
    line = f.readline().strip()
    if not line:
      break
    else:
      name = line.split(':')[0]
      passwd = line.split(':')[1]
      names[name] = passwd
for key in names:
  name_exit.append(key)
#判断用户名是否正确,不正确则继续输入
while username not in name_exit:
  print("The account is not exit.Check it again.")
  username = input("username:")
else:
  # 读取锁定文件中的内容
  with open("../config/name_lock.txt", "r") as f:
    lock_name = f.read()
  # 判断用户名是否在锁定文件中,如果在就退出程序
  if username == lock_name:
    print("Sorry.Your account has been locked.")
    exit()
  else:
    # 3次输入密码的机会
    while count < 3:
      passwd_input = input("password:")
      # 判断用户名和密码是否有效
      if passwd_input == names[username]:
        print("Welcome!", username)
        break
      else:
        print("Error,please try again.")
      count += 1
      # 如果3次输入密码错误,则将用户名添加到锁定文件
      if count == 3:
        with open("../config/name_lock.txt", "w") as f:
          f.write("%s" % username)
        print("You have tried 3 times,and your account will be locked")

总结

以上就是本文关于Python基础练习之用户登录实现代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Python入门之三角函数全解【收藏】、python好玩的项目—色情图片识别代码分享、Python实现一个简单的验证码程序等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!

Python 相关文章推荐
python 捕获shell脚本的输出结果实例
Jan 04 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 Python
Python中函数及默认参数的定义与调用操作实例分析
Jul 25 Python
django foreignkey(外键)的实现
Jul 29 Python
wxpython+pymysql实现用户登陆功能
Nov 19 Python
Django 自动生成api接口文档教程
Nov 19 Python
Python操作Sonqube API获取检测结果并打印过程解析
Nov 27 Python
python通过文本在一个图中画多条线的实例
Feb 21 Python
django 前端页面如何实现显示前N条数据
Mar 16 Python
Python super()函数使用及多重继承
May 06 Python
去除python中的字符串空格的简单方法
Dec 22 Python
关于Python错误重试方法总结
Jan 03 Python
python实现简单中文词频统计示例
Nov 08 #Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
Nov 08 #Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 #Python
Python入门之三角函数全解【收藏】
Nov 08 #Python
Python入门之三角函数tan()函数实例详解
Nov 08 #Python
Python入门之三角函数sin()函数实例详解
Nov 08 #Python
Python入门之三角函数atan2()函数详解
Nov 08 #Python
You might like
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
使用PHP curl模拟浏览器抓取网站信息
2013/10/28 PHP
PHP使用PHPMailer发送邮件的简单使用方法
2013/11/12 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
2017/04/21 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
python协程gevent案例 爬取斗鱼图片过程解析
2019/08/27 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
基于python实现查询ip地址来源
2020/06/02 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
python 实用工具状态机transitions
2020/11/21 Python
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
什么是Web Service?
2012/07/25 面试题
英语文学专业学生的自我评价
2013/10/31 职场文书
法定授权委托证明书
2014/09/27 职场文书
领导干部群众路线剖析材料
2014/10/09 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
个人自荐书范文
2015/03/09 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL