Olá, Ruan! Tudo bem?
Quando utilizamos o operador de igualdade ==, o Python faz uma comparação exata, ou seja, ele considera diferenças de maiúsculas/minúsculas e espaços adicionais como sendo strings diferentes. Portanto, no seu exemplo, 'Verso e Código' e 'verso e código ' seriam considerados diferentes.
Para evitar esse tipo de problema, uma boa prática é padronizar as strings antes de compará-las. Isso pode ser feito convertendo todas as letras para minúsculas e removendo espaços em excesso. Aqui estão algumas dicas de como você pode fazer isso:
Converter para minúsculas: Use o método .lower() para converter todas as letras da string para minúsculas.
titulo_1 = 'Verso e Código'.lower()
titulo_2 = 'verso e código '.lower()
Remover espaços em excesso: Use o método .strip() para remover espaços em branco no início e no final da string.
titulo_1 = titulo_1.strip()
titulo_2 = titulo_2.strip()
Com essas duas etapas, você pode comparar as strings de forma mais confiável:
titulo_1 = input('Digite o título do 1° livro: ').lower().strip()
titulo_2 = input('Digite o título do 2° livro: ').lower().strip()
if titulo_1 == titulo_2:
print('Os livros têm o mesmo título')
else:
print('Os livros têm títulos diferentes')
Você já conhecia outros métodos de manipulação de strings no Python além do .lower() e .strip()?
Conteúdo relacionado:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!