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 相关文章推荐
使用PDB模式调试Python程序介绍
Apr 05 Python
Python实现处理管道的方法
Jun 04 Python
Python中操作符重载用法分析
Apr 29 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
Mar 15 Python
pygame游戏之旅 游戏中添加显示文字
Nov 20 Python
详解爬虫被封的问题
Apr 23 Python
Python3从零开始搭建一个语音对话机器人的实现
Aug 23 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 Python
python3中布局背景颜色代码分析
Dec 01 Python
python数据可视化使用pyfinance分析证券收益示例详解
Nov 20 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
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
获取Javscript执行函数名称的方法
2006/12/22 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
javascript制作游戏开发碰撞检测的封装代码
2015/03/31 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
python TKinter获取文本框内容的方法
2018/10/11 Python
Python简单获取二维数组行列数的方法示例
2018/12/21 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
shell程序中如何注释
2012/02/17 面试题
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
运动会口号8字
2014/06/07 职场文书
2015年信访工作总结
2015/04/07 职场文书
python 实现两个变量值进行交换的n种操作
2021/06/02 Python