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


Python Fila.enfileirar方法代码示例

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


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

示例1: analise_sintatica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
def analise_sintatica(fila):
    token = R"-+/*(){}[]"
    if fila.__len__():
        fila_sintatica = Fila()
        num = ''
        num2 = '.'
        for lex in range(fila.__len__()):
            if fila._deque[lex] in token:
                if num:
                    if num2 in num:
                        fila_sintatica.enfileirar(float(num))
                    else:
                        fila_sintatica.enfileirar(int(num))
                num = ''
                fila_sintatica.enfileirar(fila._deque[lex])
            else:
                num = num + fila._deque[lex]
        if num:
            if num2 in num:
                fila_sintatica.enfileirar(float(num))
            else:
                fila_sintatica.enfileirar(int(num))
        return fila_sintatica
    else:
        raise ErroSintatico
开发者ID:juancanuto,项目名称:estrutura-de-dados,代码行数:27,代码来源:exer.py

示例2: analise_sintatica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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,代码行数:27,代码来源:Natanael_exercicio.py

示例3: analise_sintatica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
def analise_sintatica(fila):
    """
    Analisa a fila e diz se está sintatica ou nao.
    Tempo de execução O(n)
    Espaço de memoria O(n)
    :param expressao: fila a ser analisada
    :return: fila
    """

    if len(fila):
        fila_sintetica = Fila()
        valor = ''
        for n in range(len(fila)):
            if fila._deque[n] in '-+/*(){}[]':
                if valor:
                    if '.' in valor:
                        fila_sintetica.enfileirar(float(valor))
                    else:
                        fila_sintetica.enfileirar(int(valor))
                valor = ''
                fila_sintetica.enfileirar(fila._deque[n])
            else:
                valor = valor + fila._deque[n]
        if valor:
            if '.' in valor:
                fila_sintetica.enfileirar(float(valor))
            else:
                fila_sintetica.enfileirar(int(valor))
        return fila_sintetica
    else:
        raise ErroSintatico
开发者ID:andrevictor17,项目名称:aulasRenzoEd,代码行数:33,代码来源:expressãoAritmética.py

示例4: test_float

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
 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,代码行数:10,代码来源:exercicio.py

示例5: analise_sintatica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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,代码行数:36,代码来源:exercício.py

示例6: analise_sintatica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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,代码行数:31,代码来源:Avaliacao.py

示例7: analise_sintatica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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,代码行数:34,代码来源:exercicio.py

示例8: analise_lexica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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,代码行数:34,代码来源:exercicio.py

示例9: analise_lexica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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,代码行数:30,代码来源:exercicio.py

示例10: analise_sintatica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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,代码行数:29,代码来源:expressãoAritimética.py

示例11: analise_lexica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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,代码行数:29,代码来源:exercício.py

示例12: analise_sintatica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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
    """

    if fila.__len__():

        # Cria um novo objeto fila para adicionar os valores
        fila_sintetica = Fila()

        # Variavel de apoio para juntar a string
        valor = ""

        for i in range(fila.__len__()):

            if fila._deque[i] in "-+/*(){}[]":
                if valor:
                    if "." in valor:
                        fila_sintetica.enfileirar(float(valor))
                    else:
                        fila_sintetica.enfileirar(int(valor))

                valor = ""
                fila_sintetica.enfileirar(fila._deque[i])
            else:
                valor = valor + fila._deque[i]

        if valor:
            if "." in valor:
                fila_sintetica.enfileirar(float(valor))
            else:
                fila_sintetica.enfileirar(int(valor))

        return fila_sintetica
    else:
        raise ErroSintatico
开发者ID:trgomes,项目名称:estrutura-de-dados,代码行数:42,代码来源:exercicio.py

示例13: analise_lexica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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,代码行数:27,代码来源:exercicio.py

示例14: analise_lexica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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,代码行数:36,代码来源:exercicio.py

示例15: analise_lexica

# 需要导入模块: from aula5.fila import Fila [as 别名]
# 或者: from aula5.fila.Fila import enfileirar [as 别名]
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,代码行数:36,代码来源:Avaliacao.py


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