zoukankan      html  css  js  c++  java
  • 一个简单的登录

    user_dic={'username':None,'login':False}
    
    def auth_func(func):
        def wrapper(*args,**kwargs):
            if user_dic['username'] and user_dic['login']:    #判断用户是否有登录(有用户名且已经登录的情况下直接跳过验证)
                res=func(*args,**kwargs)
                return res
            username=input('请输入你的用户名:').strip()
            password=input('请输入你的密码:').strip()
            if username=='xiaoma' and password=='123456':
                user_dic['username']=username
                user_dic['login']=True
                res=func(*args,**kwargs)
                return res
    
            else:
                print('用户名或密码错误,请重新输入!')
    
        return wrapper
    
    @auth_func
    def index():
        print('欢迎来到淘宝首页,祝你购物愉快!')
    
    @auth_func
    def home(name):
        print('欢迎来到个人中心!')
    
    @auth_func
    def shopping_car(name):
        print('%s的购物车里有[%s,%s,%s]' %(name,'日用品','化妆品','厨卫'))
    
    
    index()
    home('小马')
    shopping_car('小马')
    user_list=[
        {'name':'小张','password':'123'},
        {'name':'小黄','password':'123'},
        {'name':'小李','password':'123'},
        {'name':'小周','password':'123'},
    ]
    
    current_dic={'username':None,'login':False}
    
    def auth_func(func):
        def wrapper(*args,**kwargs):
            if current_dic['username'] and current_dic['login']:    #判断用户是否有登录(有用户名且已经登录的情况下直接跳过验证)
                res=func(*args,**kwargs)
                return res
            username=input('请输入你的用户名:').strip()
            password=input('请输入你的密码:').strip()
            for user_dic in user_list:
                if username==user_dic['name'] and password==user_dic['password']:
                    current_dic['name']=username
                    current_dic['login']=True
                    res=func(*args,**kwargs)
                    return res
            else:
                print('用户名或密码错误!')
    
        return wrapper
    
    @auth_func
    def index():
        print('欢迎来到华夏家博会首页,祝你购物愉快!')
        
    @auth_func
    def home(name):
        print('欢迎来到个人中心%s!' %name)
        
    @auth_func
    def shopping_car(name):
        print('%s的购物车里有[%s,%s,%s]' %(name,'日用品','化妆品','厨卫'))
    
    print('before-->',current_dic)
    index()
    print('after--->',current_dic)
    home('小张')
    shopping_car('小张')
  • 相关阅读:
    Understanding Bootstrap Of Oracle Database
    Oracle Null 与 in, exists 的关系说明(not in 查不到结果)
    Oracle Virtual Box 安装使用 说明
    PowerDesigner 企业架构模型 ( EAM ) 说明
    excel 数据导入 mysql
    Go语言基础之内置函数
    Go语言基础之defer语句
    匿名函数和闭包
    Go语言基础之类型别名和自定义类型
    【Github】remote: Support for password authentication was removed
  • 原文地址:https://www.cnblogs.com/majunBK/p/10892586.html
Copyright © 2011-2022 走看看