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)
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)
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 :)