zoukankan      html  css  js  c++  java
  • 第一周作业-模拟登陆




     1 #coding:utf-8
     2 #Author:Mr Zhi
     3 count = 0       #为累计密码输入次数,赋值初始值
     4 User_info_file = open("User_info",'r',encoding="utf-8")     #打开用户信息文件
     5 Locked_user_file = open("Locked_user",'r+',encoding="utf-8")    #打开锁定用户文件
     6 User_info_line = eval(User_info_file.read())    #把用户信息文件内容转换为字典
     7 Locked_user_line = Locked_user_file.read()  #读取锁定的用户文件
     8 def close_file():   #经常重复的代码,定义一个函数
     9     Locked_user_file.close()    #关闭文件
    10     User_info_file.close()      #关闭文件
    11     exit()      #结束程序
    12 while True:     #开始循环
    13      username = input("请输入你的用户名:")  #输入用户名
    14      password = input("请输入你的密码:")   #输入密码
    15      if len(username) == 0 or len(password) == 0: #判断用户名或密码是否为空
    16          print("你输入用户名或者密码为空!")  #提示用户名或密码为空
    17          close_file()  #执行自定义函数结束程序
    18      if username in User_info_line.keys() and username not in Locked_user_line: #判断用户名是否在用户信息文件和锁定用户文件中
    19          if password == User_info_line["{user}".format(user=username)]:  #判断输入的密码是否对应用户的密码
    20              print("欢迎 {user} 成功登陆....".format(user=username))  #打印出登陆的信息
    21              close_file()    #执行自定义函数
    22          while count < 3:    #循环三次
    23             count += 1       #累加次数
    24             password = input("密码错误,你剩下{num}次输入密码的机会:".format(num = 4 - count))  #重新输入密码并提示剩下次数
    25             if len(password) == 0: #判断密码是否为空
    26                 print("密码不能为空") #提示密码不能为空
    27                 count -= 1   #不累加输入次数
    28             if password == User_info_line.values():     #判断密码是否正确
    29                 print("欢迎 {user} 用户成功登陆....".format(user=username))     #输出登陆成功信息
    30                 close_file()    #执行自定义函数
    31             if count == 3:      #判断累计的次数是否三次
    32                 Locked_user_file.write(username+'
    ')   #把用户名追加到锁定用户文件中
    33                 print("超过次数,你的用户{user}被锁定".format(user=username))   #输出锁定用户的提示
    34                 close_file()    #执行自定义函数
    35      elif username in Locked_user_line:     #判断用户名是否在锁定用户文件中
    36          print("你的用户{user}已经被锁定".format(user=username))     #输出锁定用户的提示
    37          close_file()   #执行自定义函数
    38      else:
    39          print("用户名不存在!")   #输出用户不存在的提示
    40          close_file()    #执行自定义函数
  • 相关阅读:
    git 从远程仓库指定分支克隆代码到本地
    vue路由懒加载
    ES6中拓展运算符 ...
    Mysql 安装-windows X64
    mysql-Federated存储方式,远程表,相当于sql server的linked server
    优化临时表使用,SQL语句性能提升100倍
    MySQL行锁深入研究
    mysql 队列 实现并发读
    mysql 常用sql
    mysql分表的3种方法
  • 原文地址:https://www.cnblogs.com/wenwei-blog/p/6841691.html
Copyright © 2011-2022 走看看