Ir para conteúdo
Fórum Script Brasil
  • 0

Busca de palavras


gustadsg

Pergunta

Estou fazendo um programa que busca palavras inversas (pedro e ordep, por exemplo) em um arquivo cuja cada linha é uma palavra (link:https://drive.google.com/open?id=15aj-5coD_dBKIunMHuGZTAT3cgkrSuyD). Tentei usar um algoritmo de for para buscar cada inverso na lista, mas o programa para na primeira iteração do loop. abaixo o código completo:

def seek_word(lista, word): //procura a palavra na lista de maneira otimizada
    length = len(lista)
    if len(lista) == 0:
        return False
    middle_word = lista[int(length / 2)]
    if word == middle_word:
        lista = [lista[int(length / 2)]]
        return True
    elif word > middle_word:
        del lista[:int(length / 2) + 1]
        return seek_word(lista, word)
    elif word < middle_word:
        del lista[int(length / 2):]
        return seek_word(lista, word)


def create_list(fin): //cria uma lista com as palavras do arquivo
    lista = []
    for line in fin:
        lista.append(line.strip())
    return lista


with open('files/words.txt') as fin:
    lista = create_list(fin)
    for word in lista:
        if seek_word(lista, word[::-1].strip()):
            print('{} is inverse of {}'.format(word[::-1], word))
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...