zoukankan      html  css  js  c++  java
  • 创建用户登陆系统——支持多个用户登陆,使用户三次认证失败后退出程序并锁定

    尝试版:

     1 i=0
     2 print('==========欢迎登陆=================')
     3 print('zz:123 hh:1234 baba:123456') ---->本地缓存记录
    4 info={'zz':123,'hh':1234,'baba':123456} 5 while True:                6 c1=input('你的用户名为: ')    ---->输入用户名 7 if info.get(c1):        -----》查看用户名是否存在 8 md = input('你的密码是:')   ---》登陆密码 9 if info.get(c1)!= md:    --->验证用户名与密码是否不对应 10 print('密码错误')  ---》提示错误 11 i += 1     12 if i == 3:    ---》错误3次后 13 info.pop(c1)    ---》使用户无法再次登陆(此操作很糙) 14 print('三次失败,你账号被封三个月,请不要再次上尝试。')

    升级版:

     1 i=0
     2 print('=================欢迎==============')
     3 print('1.登陆 2.注册')
     4 info = {'zz': 123, 'hh': 1234, 'baba': 123456}
     5 while True:
     6     choose =input('请选择登陆或者注册:').strip()    --》在自定义输入的时候最好加上.strip,防止不小心输入空格的情况
     7     if choose == '1':                         ----》if,else判断要对齐
     8         zh = input('请输入账户:').strip()
     9         with open(r'C:UserszzzDesktop1.txt.txt', 'r', encoding='utf-8') as f:
    10             data  = f.read()         ---》在输入用户名前读取一下文件,这里可理解为黑名单
    11             if zh not in data            ---》如果此账户在黑名单,就锁定退出,不在就继续输入密码
    12                 wd = input('请输入密码').strip()     
    13                 if info[zh] == int(wd):        -----》查看账户密码是否为对应关系
    14                     print('登陆成功')
    15                 else:
    16                     print('账号或密码错误')
    17                     i +=1
    18                     if i == 3:
    19                         with open(r'C:UserszzzDesktop1.txt.txt', 'a', encoding='utf-8') as f:
    20                             f.writelines(zh)                   -----》对错误3次的账户加入黑名单
    21                             print('你的账号已经被锁定,不允许再次登陆')
    22                             break
    23             if zh in data:
    24                 print('你的账号被封了10年,还来干什么')
    25                 break
    26     if choose == '2':                               ----》注册新用户密码
    27         new_zh = input('请添加用户名:').strip()
    28         new_md = input('请输入密码:').strip()
    29         info.setdefault(new_zh,new_md)            -----》使用default是因为防止使用过的账户再被注册
    30         print(info)
    31         break
  • 相关阅读:
    opencv安装
    安装电脑
    勿忘心安
    Linux操作
    listBox1_DrawItem
    今天被骂
    我研究群体行为,希望大家一起讨论
    Matlab高级绘图
    网址
    下面哪些机制可以用于进程间通信?
  • 原文地址:https://www.cnblogs.com/zzzynx/p/10739880.html
Copyright © 2011-2022 走看看