zoukankan      html  css  js  c++  java
  • 编写登陆认证程序

    需求:

     基础需求:

       让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序

     升级需求:

       可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)

    基础需求:代码如下

     1 account = 'zwj'
     2 passwd = '123abc'
     3 
     4 count = 0
     5 while count < 3 :
     6     account_input = input('请输入您的用户名>>').strip()
     7     passwd_input = input('请输入您的密码>>').strip()
     8 
     9     if account == account_input and passwd == passwd_input :
    10         print('----welcome to login----')
    11         break
    12     else:
    13         count += 1

    升级需求:代码如下

     1 import os,pickle
     2 
     3 user_msg = {'Tom':'123','Jack':'456','Rose':'789'}
     4 
     5 if not os.path.isfile('lock_file'):  # 若文件不存在,就创建一个
     6     f = open('lock_file', 'wb')
     7     lock_msg = {'Tom': 0, 'Jack': 0, 'Rose': 0}
     8     pickle.dump(lock_msg, f)
     9     f.close()
    10 
    11 while True:
    12     f = open('lock_file','rb+')
    13     lock_msg = pickle.load(f)
    14 
    15     in_account = input('请输入用户名>>').strip()
    16     in_passwd = input('请输入密码>>').strip()
    17 
    18     if in_account not in lock_msg:    #用户名错误不计入锁定次数范围
    19         print('账号不存在,请重新输入')
    20         f.close()
    21         continue
    22     elif lock_msg[in_account] == 3:
    23         print('用户名已锁定')
    24         f.close()
    25         break
    26     elif in_passwd == user_msg[in_account]:
    27         print('欢迎登陆',in_account)
    28         lock_msg[in_account] = 0       #刷新输错次数
    29         f.seek(0)
    30         pickle.dump(lock_msg,f)
    31         f.close()
    32         break
    33     else:
    34         print('密码错误')
    35         lock_msg[in_account] += 1
    36         print('%s 次错误' %lock_msg[in_account])
    37         f.seek(0)
    38         pickle.dump(lock_msg,f)
    39         f.close()

    ps:

      这就搞定啦!如果有不同想法,欢迎在评论中写出来。

  • 相关阅读:
    牛客练习赛24 E:青蛙(最短路)
    菜根谭#10
    菜根谭#9
    菜根谭#8
    菜根谭#7
    菜根谭#6
    菜根谭#5
    菜根谭#4
    菜根谭#3
    菜根谭#2
  • 原文地址:https://www.cnblogs.com/NuoMiGao/p/9855397.html
Copyright © 2011-2022 走看看