当前位置: 首页>>代码示例>>Python>>正文


Python fila.Fila类代码示例

本文整理汇总了Python中aula5.fila.Fila的典型用法代码示例。如果您正苦于以下问题:Python Fila类的具体用法?Python Fila怎么用?Python Fila使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Fila类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: analise_sintatica

def analise_sintatica(expressao):
    """
    Função que realiza analise sintática de tokens produzidos por analise léxica.
    Executa validações sintáticas e se não houver erro retorn fila_sintatica para avaliacao

    :param fila: fila proveniente de análise lexica
    :return: fila_sintatica com elementos tokens de numeros
    """
    expressao=analise_lexica(expressao)

    fila2=Fila()
    if len(expressao)!=0:
        for i in expressao:
            if i in set("{}[]()/+-*") or i in set("0123456789") :

                fila2.enfileirar(i)
            #elif i not in set("."):
             #   fila2.enfileirar(float(i))
            else:
                fila2.enfileirar(i)


        return fila2
    else:
        raise ErroSintatico()
开发者ID:nata27junior,项目名称:Natanael-Junior,代码行数:25,代码来源:Natanael_exercicio.py

示例2: test_float

 def test_float(self):
     fila = Fila()
     fila.enfileirar('1234567890')
     fila.enfileirar('.')
     fila.enfileirar('4')
     fila_sintatica = analise_sintatica(fila)
     self.assertEqual(1234567890.4, fila_sintatica.desenfileirar())
     self.assertTrue(fila_sintatica.vazia())
开发者ID:RodrigoRGRB,项目名称:estruturaDados,代码行数:8,代码来源:exercicio.py

示例3: analise_sintatica

def analise_sintatica(fila):
    """
    Função que realiza analise sintática de tokens produzidos por analise léxica.
    Executa validações sintáticas e se não houver erro retorn fila_sintatica para avaliacao
    :param fila: fila proveniente de análise lexica
    :return: fila_sintatica com elementos tokens de numeros
    """
    fil = Fila()
    char = ""
    if len(fila) == 0:
        raise ErroSintatico("erro")
    while (len(fila) != 0):
        df = fila.desenfileirar()
        if df in set("-+*/()[]{}"):
            if len(char) > 0:
                if "." in char:
                    fil.enfileirar(float(char))
                    char = ""
                else:
                    fil.enfileirar(int(char))
                    char = ""
            fil.enfileirar(df)
        else:
            char = char + df
    if len(char) != 0:
        if "." in char:
            char = float(char)
        else:
            char = int(char)
        fil.enfileirar(char)

    return fil

    pass
开发者ID:MassashiAkuzawa,项目名称:Gear4th,代码行数:34,代码来源:exercício.py

示例4: analise_sintatica

def analise_sintatica(fila):
    """
    Função que realiza analise sintática de tokens produzidos por analise léxica.
    Executa validações sintáticas e se não houver erro retorn fila_sintatica para avaliacao

    :param fila: fila proveniente de análise lexica
    :return: fila_sintatica com elementos tokens de numeros
    """
    novafila = Fila()
    if fila.vazia():
        raise ErroSintatico;
    save = ''
    while not fila.vazia():
        item = fila.desenfileirar()
        if num(item):
            save = int(item)
            if fila.vazia():
                novafila.enfileirar(save)
                return novafila
            if fila.primeiro() != '.':
                novafila.enfileirar(save)
        elif item == '.':
            item = fila.desenfileirar()
            save = float(save)
            save += (float(item)) / (10 ** (len(item)))
            novafila.enfileirar(save)
        else:
            novafila.enfileirar(item)
    return novafila
开发者ID:skatesham,项目名称:S2Python,代码行数:29,代码来源:Avaliacao.py

示例5: analise_sintatica

def analise_sintatica(fila): #PRONTO PORÉM GRANDE
    """
    Função que realiza analise sintática de tokens produzidos por analise léxica.
    Executa validações sintáticas e se não houver erro retorn fila_sintatica para avaliacao
    :param fila: fila proveniente de análise lexica
    :return: fila_sintatica com elementos tokens de numeros
    """
    fila2 = Fila()
    car=''
    if (len(fila) == 0):
        raise ErroSintatico('erro')
    while (len(fila)!=0):
        c = fila.desenfileirar()
        if c in ('+-*/(){}[]'):
            if len(car)!=0:
                if '.' in car:
                    fila2.enfileirar(float(car))
                    car = ''
                else:
                    fila2.enfileirar(int(car))
                    car = ''
            fila2.enfileirar(c)
        else:
            car = car + c
    if len(car)>0:
        if '.' in car:
            car = float(car)
        else:
            car = int(car)
        fila2.enfileirar(car)

    return fila2
开发者ID:Comeonboy,项目名称:estrutura-de-dados,代码行数:32,代码来源:exercicio.py

示例6: analise_lexica

def analise_lexica(expressao):
    """
    A função analisa um expreção e diz se está conforme os parametros passados,logo a função verifica se contem um caracter que nao seja alguns desses "0123456789.-+*/{}[]()"
    Tempo de execução O(n)
     Espaço de memoria O(n)
    :param expressao: recebe a expressao a ser analisada
    :return: fila com os caracteres indesejados  """

    fila = Fila()

    correto = R"0123456789.-+*/{}[]()"

    if expressao:
        valor = ''
        for n in expressao:
            if n in correto:
                if n in '(){}[].*/-+':
                    if valor:
                        fila.enfileirar(valor)
                        valor = ''
                    fila.enfileirar(n)
                else:
                    valor = valor + n
            else:
                raise ErroLexico()

        if valor:
            fila.enfileirar(valor)

    return fila
开发者ID:andrevictor17,项目名称:aulasRenzoEd,代码行数:30,代码来源:expressãoAritmética.py

示例7: analise_sintatica

def analise_sintatica(fila):

    tokens = Fila ()
    numValor = 0
    point = False
    if len(fila) > 0:
        for elemento in fila:
            if elemento in set('{[()]}+-*/'):
                if not numValor == 0:
                    tokens.enfileirar(numValor)
                numValor = 0
                tokens.enfileirar(elemento)
                point = False
            else:
                if elemento == '.':
                    point = True
                else:
                    valor = float(elemento)
                    if point:
                        numValor += (valor / 10 ** len (elemento))
                    else:
                        numValor += valor
        if not numValor == 0:
            tokens.enfileirar(numValor)
        return tokens
    else:
         raise ErroSintatico ('')
开发者ID:Julianosantosb,项目名称:dataStructure,代码行数:27,代码来源:expressãoAritimética.py

示例8: analise_lexica

def analise_lexica(expressao):
    """
    Executa análise lexica transformando a expressao em fila de objetos:
    Transforma inteiros em ints
    Flutuantes em floats
    e verificar se demais caracteres são validos: +-*/(){}[]
    :param expressao: string com expressao a ser analisada
    :return: fila com tokens
    """
    fila = Fila()

    # numeros e tokens
    nt = r"0123456789.-+*/{}[]()"

    if expressao:

        valor = ""

        for i in expressao:
            if i in nt:
                if i in ".-+*/{}[]()":
                    if valor:
                        fila.enfileirar(valor)
                        valor = ""
                    fila.enfileirar(i)
                else:
                    valor = valor + i
            else:
                raise ErroLexico()

        if valor:
            fila.enfileirar(valor)

    return fila
开发者ID:trgomes,项目名称:estrutura-de-dados,代码行数:34,代码来源:exercicio.py

示例9: analise_lexica

def analise_lexica(expressao):
    fila=Fila()
    num=""
    if len(expressao):
        for t in expressao:
            if t in set("0123456789"):
                num=num+t
            else:
                if len(num)>0:
                    fila.enfileirar(num)
                    num=""
                if t in set("{}[]()/+-*."):
                    fila.enfileirar(t)
                else:
                    raise ErroLexico("Erro Léxico")
                
        if not len(num)==0:
            fila.enfileirar(num)
    return fila

        
            
        
    """
    Executa análise lexica transformando a expressao em fila de objetos:
    Transforma inteiros em ints
    Flutuantes em floats
    e verificar se demais caracteres são validos: +-*/(){}[]
    :param expressao: string com expressao a ser analisada
    :return: fila com tokens
    """
    pass
开发者ID:walelite,项目名称:ES,代码行数:32,代码来源:exercicio.py

示例10: analise_lexica

def analise_lexica(expressao):
    def caracteres(param1):
        return param1 in "(){.}[]+-*/"

    fila=Fila()
    count=0
    pilha=Pilha()
    while count!=len(expressao):
        if not(caracteres(expressao[count]) or num(expressao[count])):
            raise ErroLexico
        else:
            if caracteres(expressao[count]):
                if not pilha.vazia():
                    fila.enfileirar(pilha.desempilhar())
                fila.enfileirar(expressao[count])
            if num(expressao[count]):
                if pilha.vazia():
                    pilha.empilhar(expressao[count])
                else:
                    final=pilha.desempilhar()
                    pilha.empilhar(final+expressao[count])
        count+=1
    if not pilha.vazia():
        fila.enfileirar(pilha.desempilhar())
    return fila
开发者ID:RodrigoRGRB,项目名称:estruturaDados,代码行数:25,代码来源:exercicio.py

示例11: analise_lexica

def analise_lexica(expressao): #PRONTO PORÉM FEIO
    """
    Executa análise lexica transformando a expressao em fila de objetos:
    Transforma inteiros em ints
    Flutuantes em floats
    e verificar se demais caracteres são validos: +-*/(){}[]
    :param expressao: string com expressao a ser analisada
    :return: fila com tokens
    """

    car = ''
    fila = Fila()
    if len(expressao):
        for c in expressao:
            if c in ('1234567890'):
                car = car+c
            elif c in ("+-*/(){}[]."):
                if len(car)!=0:
                    fila.enfileirar(car)
                    car = ''
                fila.enfileirar(c)
            else:
                raise ErroLexico('erro')
        if len(car)>0:
            fila.enfileirar(car)


    return fila
开发者ID:Comeonboy,项目名称:estrutura-de-dados,代码行数:28,代码来源:exercicio.py

示例12: analise_lexica

def analise_lexica(expressao):
    """
    Executa análise lexica transformando a expressao em fila de objetos:
    Transforma inteiros em ints
    Flutuantes em floats
    e verificar se demais caracteres são validos: +-*/(){}[]
    :param expressao: string com expressao a ser analisada
    :return: fila com tokens
    """

    def caracteres(param1):
        return param1 in "(){.}[]+-*/"

    fila = Fila()
    count = 0
    pilha = Pilha()
    while count != len(expressao):
        if not (caracteres(expressao[count]) or num(expressao[count])):
            raise ErroLexico
        else:
            if caracteres(expressao[count]):
                if not pilha.vazia():
                    fila.enfileirar(pilha.desempilhar())
                fila.enfileirar(expressao[count])
            if num(expressao[count]):
                if pilha.vazia():
                    pilha.empilhar(expressao[count])
                else:
                    final = pilha.desempilhar()
                    pilha.empilhar(final + expressao[count])
        count += 1
    if not pilha.vazia():
        fila.enfileirar(pilha.desempilhar())
    return fila
开发者ID:skatesham,项目名称:S2Python,代码行数:34,代码来源:Avaliacao.py

示例13: analise_lexica

def analise_lexica(expressao):
    fila = Fila()
    char = ""
    if len(expressao):
        for k in expressao:
            if k in ("1234567890"):
                char = char + k
            elif k in ("()[]{}-+*/."):
                if len(char) != 0:
                    fila.enfileirar(char)
                    char = ""
                fila.enfileirar(k)
            else:
                raise ErroLexico("Erro")
        if len(char) > 0:
            fila.enfileirar(char)
    return fila

    """
    Executa análise lexica transformando a expressao em fila de objetos:
    Transforma inteiros em ints
    Flutuantes em floats
    e verificar se demais caracteres são validos: +-*/(){}[]
    :param expressao: string com expressao a ser analisada
    :return: fila com tokens
    """
    pass
开发者ID:MassashiAkuzawa,项目名称:Gear4th,代码行数:27,代码来源:exercício.py

示例14: analise_sintatica

def analise_sintatica(fila):
    especiais = '+-*/(){}[]'
    filaObjeto = Fila()
    caracter = ''
    if not(len(fila)): raise ErroSintatico('')
    while len(fila):
        atual = fila.desenfileirar()
        if atual in especiais:
            if len(caracter):#Verificanto se é int ou float
                if '.' not in caracter:
                    filaObjeto.enfileirar(int(caracter))
                else: filaObjeto.enfileirar(float(caracter))
                caracter = ''
            filaObjeto.enfileirar(atual)
        else: caracter += atual
    if len(caracter):
        if '.' not in caracter: caracter = int(caracter)
        else: caracter = float(caracter)
        filaObjeto.enfileirar(caracter)
    return filaObjeto
开发者ID:jpaDeveloper,项目名称:estrutura-de-dados,代码行数:20,代码来源:expressaoAritimetica.py

示例15: analise_sintatica

def analise_sintatica(fila):
    novafila=Fila()
    if fila.vazia():
        raise ErroSintatico;
    save=''
    while not fila.vazia():
        item=fila.desenfileirar()
        if num(item):
            save=int(item)
            if fila.vazia():
                novafila.enfileirar(save)
                return novafila
            if fila.primeiro()!='.':
                novafila.enfileirar(save)
        elif item=='.':
            item=fila.desenfileirar()
            save=float(save)
            save+=(float(item))/(10**(len(item)))
            novafila.enfileirar(save)
        else:
            novafila.enfileirar(item)
    return novafila
开发者ID:RodrigoRGRB,项目名称:estruturaDados,代码行数:22,代码来源:exercicio.py


注:本文中的aula5.fila.Fila类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。