1
resposta

[Projeto] Encontrando palavras que começam com uma letra específica

import re

livro = input("Digite o título dos livro: ").split()

letra_inicial = input("Digite a letra inicial para pesquisa: ")

padrao = r"^["+ letra_inicial + r"]"

for n in livro:
    if re.match(padrao, n):
            print(n)
1 resposta

Olá Ângelo! Tudo bem?

Seu código está quase lá, mas há um pequeno ajuste que pode ser feito para garantir que ele funcione conforme esperado. O uso do re.match verifica se a string inteira corresponde ao padrão, mas como você está procurando palavras que começam com uma letra específica, o re.search pode ser mais apropriado. No entanto, nesse caso específico, re.match está correto, pois ele verifica a correspondência no início da string.

O que pode estar faltando é garantir que a letra inicial seja tratada de forma a considerar a sensibilidade a maiúsculas e minúsculas. Para isso, você pode usar o método lower() ou upper() para padronizar a entrada. Veja o exemplo:

import re

livro = input("Digite o título dos livro: ").split()

letra_inicial = input("Digite a letra inicial para pesquisa: ").lower()

padrao = r"^" + letra_inicial

for n in livro:
    if re.match(padrao, n.lower()):
        print(n)

Neste exemplo, a entrada do usuário para a letra inicial é convertida para minúscula, e cada palavra do título também é convertida para minúscula antes da verificação. Isso garante que a pesquisa não seja sensível a maiúsculas/minúsculas, o que pode ser útil dependendo do seu caso de uso.

Parabéns pela realização da atividade! Continue assim :)

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!