Pular para o conteúdo
Bruno Dórea
Todos os posts

3 mins de leitura


Debugando um Verificador de Anagrama

Debugando com o GitHub Copilot - 2/3


Bootcamp Microsoft AI for Tech - GitHub Copilot
Bootcamp Microsoft AI for Tech - GitHub Copilot

Descrição

O objetivo desse desafio é identificar e corrigir erros em um programa que verifica se duas palavras são anagramas. Anagramas são palavras que contêm as mesmas letras, mas em uma ordem diferente. O programa precisa exibir Verdadeiro se as palavras forem anagramas e Falso caso contrário. No entanto, o programa contém alguns erros de lógica e sintaxe que precisam ser corrigidos.

Uma opção para te ajudar durante o processo de depuração é o uso do GitHub Copilot, que pode sugerir correções de código.

Entrada

A entrada consistirá de duas palavras (A e B), fornecidas em uma única linha, separadas por um espaço. Por exemplo: ouvir virou.

Saída

O programa deve retornar uma mensagem indicando se as palavras são anagramas ou não:

  • Verdadeiro (se as palavras forem anagramas).
  • Falso (se as palavras não forem anagramas).

Exemplos

A tabela abaixo apresenta exemplos com alguns dados de entrada e suas respectivas saídas esperadas. Certifique-se de testar seu programa com esses exemplos e com outros casos possíveis.

EntradaSaída
ouvir virouVerdadeiro
gato patoFalso
amor romaVerdadeiro

Resolução

def verificar_anagrama(palavra1, palavra2):
    palavra1 = palavra1.replace(" ", "").lower()
    palavra2 = palavra2.replace(" ", "").lower()
 
    return sorted(palavra1) == sorted(palavra2)
 
def main():
    try:
        entrada = input().strip()
        palavras = entrada.split()
 
        if len(palavras) != 2:
            print("Falso")
            return
 
        palavra_a, palavra_b = palavras[0], palavras[1]
 
        if verificar_anagrama(palavra_a, palavra_b):
            print("Verdadeiro")
        else:
            print("Falso")
    except:
        print("Falso")
 
if __name__ == "__main__":
    main()

Para encontrar outras soluções, verifique aqui.

Caso encontre algum erro ou tenha sugestões, clique aqui e abra uma issue no Github.