Python实现账号密码输错三次即锁定功能简单示例

yipeiwu_com6年前Python基础

本文实例讲述了Python实现账号密码输错三次即锁定功能。分享给大家供大家参考,具体如下:

初学Python—1

#实现账号输错三次即锁定
user = "hubery"
passwd = "123"
confirm = 0
lock=0
fileOpen = open("username.txt","a+")
fileOpen.seek(0)
for i in range(3):
 username = input("username:")
 passsword = input("password:")
 for line in fileOpen.readlines():
  if username == line.strip():
   print("账户已经锁定!")
   lock=1
   break
  else:
   continue
 fileOpen.seek(0)
 if user == username and lock ==0:
  if passwd == passsword:
   print("欢迎,欢迎!")
   confirm = 1
   break
  else:
   print("账号户或者密码错误!")
   continue
 elif lock==1:
  continue
 else:
  print("1账号或者密码错误!")
  continue
fileOpen.close()
if confirm == 0 and lock==0:
 fileWrite=open("username.txt","a")
 fileWrite.write(username+"\n")
 fileWrite.close()

基本功能可以实现;

锁定的账号为第三次输错的用户名(待完善)

以下为完善版本,如有错误,请告知

import os
user = "hubery"
passwd = "123"
count = 0
lock = 0
fileOpen = open("username.txt", "a+")
fileOpen.seek(0)
while 1:
 for i in range(5):
  username = input("username:")
  passsword = input("password:")
  for line in fileOpen.readlines():
   if username == line.strip():
    print("账户已经锁定!")
    lock = 1
    break
   else:
    continue
  fileOpen.seek(0)
  if user == username:
   if lock == 1:
    continue
   elif passsword == passwd:
    print("欢迎,欢迎!")
    os._exit(0)
   elif count < 2:
    print("账号或者密码错误!")
    count += 1
    continue
   else:
    fileOpen.write(username + "\n")
    fileOpen.flush()
    print("密码输入错误超过三次,账户已经锁定!")
    fileOpen.seek(0)
    continue
  else:
   print("账号密码错误!")
   continue
 check=input("还想验证其他账户?(yes-继续,no-退出)")
 if "no"==check.lower():
  os._exit(0)
 else:
  continue
fileOpen.close()

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

python实现定制交互式命令行的方法

Python的交互式命令行可通过启动文件来配置。 当Python启动时,会查找环境变量PYTHONSTARTUP,并且执行该变量中所指定文件里的程序代码。该指定文件名称以及地址可以是随意...

Python中atexit模块的基本使用示例

Python中atexit模块的基本使用示例

atexit模块很简单,只定义了一个register函数用于注册程序退出时的回调函数,我们可以在这个回调函数中做一些资源清理的操作。 注:如果程序是非正常crash,或者通过os._ex...

关于python2 csv写入空白行的问题

关于python2 csv写入空白行的问题

如下所示: writer = csv.writer(open('xx.csv','w')) data = [('zzz', 20, 123456),('jojo', 10, 7890...

python获取本地计算机名字的方法

本文实例讲述了python获取本地计算机名字的方法。分享给大家供大家参考。具体如下: import sys, socket hostname = socket.gethostname...

Python时区设置方法与pytz查询时区教程

时区的概念与转换 首先要知道时区之间的转换关系,其实这很简单:把当地时间减去当地时区,剩下的就是格林威治时间了。 例如北京时间的18:00就是18:00+08:00,相减以后就是10:0...