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中生成器和yield语句的用法详解
Apr 17 Python
python中的全局变量用法分析
Jun 09 Python
Python导入oracle数据的方法
Jul 10 Python
详解关于Django中ORM数据库迁移的配置
Oct 08 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
Feb 16 Python
python redis 删除key脚本的实例
Feb 19 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
python3调用windows dos命令的例子
Aug 14 Python
利用PyQt中的QThread类实现多线程
Feb 18 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
一篇文章弄懂Python中的内建函数
Aug 07 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
用Socket发送电子邮件
2006/10/09 PHP
解析PHP工厂模式的好处
2013/06/18 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
vue父子模板传值问题解决方法案例分析
2020/02/26 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
Python类的基础入门知识
2008/11/24 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
Kipling澳洲官网:购买凯浦林包包
2020/12/17 全球购物
温泉秘密:Onsen Secret
2020/07/06 全球购物
广告设计专业自荐信范文
2013/11/14 职场文书
会计专业应届生求职信
2013/11/24 职场文书
预备党员党课思想汇报
2014/01/13 职场文书
英语专业个人求职信范文
2014/02/01 职场文书
教师师德承诺书
2014/03/26 职场文书
学生请假条
2014/04/11 职场文书
理财计划书
2014/08/14 职场文书
2014年网管工作总结
2014/12/11 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
Redis数据结构之链表与字典的使用
2021/05/11 Redis