欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python文件操作模拟用户登陆代码实例

程序员文章站 2022-06-15 17:38:10
题目要求1、输入用户名和密码后回车2、密码输入错误,给出提示,并选择是否重新输入3、密码输入错误三次后,用户被锁定,无法继续登陆构思1、用户输入账号和密码后,需要判断账号是否存在2、判断账号是否被禁用...

题目要求

1、输入用户名和密码后回车

2、密码输入错误,给出提示,并选择是否重新输入

3、密码输入错误三次后,用户被锁定,无法继续登陆

构思

1、用户输入账号和密码后,需要判断账号是否存在

2、判断账号是否被禁用(错误次数大于三次)

3、判断账号密码是否正确

4、不同的错误给出不同的提示

5、每输入错一次,文档中的错误次数需要更新

6、如果三次以内用户登陆成功,密码原来的错误次数被重置

题目完成步骤

1、文档的编写

考虑到数据的存储问题,决定将账号、密码、错误次数进行分行存储,三行为一组用户信息

Python文件操作模拟用户登陆代码实例

2、代码编写

go = true
while go:
  # 用来判断账号是否存在
  no_existence_flag = true
  # 用来判断是否输入正确
  no_flag = true
  # 用来判断是否已经被封
  disable_flag = true
  # 用来判断次数是否已经超过限制
  account = input("account:")
  password = input("password:")
  # 判断账号是否存在(自己写入已存在用户的账号密码)
  file = open("c:/users/lenovo/desktop/user.txt","r")
  # 用于拼接文本内容
  file_data = ""
  while true:
    line = file.readline()
    if not line:
      break
    file_data += line
    line_content = line.strip()
    # 判断是否存在账号
    if account == line_content:
      no_existence_flag = false
      true_password = file.readline()
      file_data += true_password
      true_password_content = true_password.strip()
      disable_flag_line = file.readline()
      disable_flag_num = int(disable_flag_line.strip())
      # 判断账号是否被禁用
      if disable_flag_num != 3:
        print("it is not disable!",disable_flag_num)
        disable_flag = false
        # 判断密码是否正确
        if password == true_password_content:
          no_flag = false
          print("welcome in this system,{account}!".format(account = account))
          go = false
          disable_flag_line = disable_flag_line.replace(str(disable_flag_num),str(0))
          file_data += disable_flag_line
        else:
          disable_flag_line = disable_flag_line.replace(str(disable_flag_num),str(disable_flag_num+1))
          file_data += disable_flag_line
      else:
        file_data += file.readline()
    else:
      file_data += file.readline()
      file_data += file.readline()
  file.close()
  # 账号不存在的报错
  if no_existence_flag:
    print("this account is not existence!")
    print("do you want to try it again......")
    flag = input("please input you think:")
    if flag == "n":
      go = false
    continue
  # 账号被禁用的报错
  if disable_flag:
    print("you account is disable,please go home by youself!")
    print("do you want to try it again......")
    flag = input("please input you think:")
    if flag == "n":
      go = false
    continue
  # 账号密码错误的报错
  if no_flag:
    file = open("c:/users/lenovo/desktop/user.txt","w")
    print(file_data)
    file.write(file_data)
    file.close()
    print("your password is not right,please try it again!")
    print("do you want to try it again......")
    flag = input("please input you think:")
    if flag == "n":
      go = false
  # 重置输入次数
  else:
    file = open("c:/users/lenovo/desktop/user.txt","w")
    print(file_data)
    file.write(file_data)
    file.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。