Python 基础登入接口

一:
编写登陆接口
基础需求:

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

1.dic 方法
name_info={'zhang':'123'}
count=0

while count<3:
    name=input('请输入用户名:')
    if name in name_info:
        password=input('请输入密码:')
        if password == name_info[name]:
            print('欢迎登入')
            break
        else:
            print('密码输入有误,请重新输入密码:')
            count+=1
    else:
        print('输入信息有误,请重新输入')
        count+=1

2.list方法

name_info=['zhang','123']
count=0

while count < 3:
    name=input('请输入用户名:')
    if name == name_info[0]:
        password=input('请输入密码:')
        if password == name_info[1]:
            print('欢迎登入')
            break
        else:
            print('密码输入错误,请重新输入')
            count+=1
    else:
        print('用户名输入错误,请重新输入')
        count+=1

二:升级版需求:

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

count=0

while True:
    name=input('请输入你的用户名:')
    if name not in name_info:
        print('此用户名不存在,请重新输入!')
        continue

    with open('db.txt','r') as f:
        lock_users=f.read().split('|')
        if name in lock_users:
            print('用户%s已经被锁定' %name)
            break

    if name_info[name]['count'] > 2:
        print('尝试次数过多,被锁定')
        with open('db.txt', 'a') as f:
            f.write('%s|' % name)
        break

    # if name in name_info:
    password=input('请输入你的密码:')
    if password == name_info[name]['passwd']:
        print('登入成功')
        break
    else:
        print('密码输入错误,请重新输入:')
        name_info[name]['count']+=1


 
 
原文地址:https://www.cnblogs.com/zhangxinxiao/p/7127075.html