1
resposta

palavras que começam com uma letra específica - SOLUÇÃO

import re

clientes = {}

def validar_dados(nome, sobrenome, idade):
    if not re.match(r"^[A-Za-z\s]+$", nome):
        print("Nome inválido. Deve conter apenas letras e espaços.")
        return False
    if not re.match(r"^[A-Za-z\s]+$", sobrenome):
        print("Sobrenome inválido. Deve conter apenas letras e espaços.")
        return False
    if not re.match(r"^\d+$", idade):
        print("Idade inválida. Deve conter apenas números.")
        return False
    return True


def limpar_tela():
    import os
    os.system('cls' if os.name == 'nt' else 'clear')


def cadastrar_cliente():
    quantidade = int(input("Quantos clientes deseja cadastrar? "))
    for chave in range(quantidade):
        nome = input("Digite o nome do cliente: ")
        sobrenome = input("Digite o sobrenome do cliente: ")
        idade = input("Digite a idade do cliente: ")

        if validar_dados(nome, sobrenome, idade):
            clientes[chave] = {"nome": nome, "sobrenome": sobrenome, "idade": idade}
        else:
            print("⚠ Dados inválidos, tente novamente.")
            return  # interrompe o cadastro se os dados forem inválidos

    if clientes:
        limpar_tela()
        print("Dados dos Clientes:")
        for cliente in clientes.values():
            print("-" * 20)
            print(
                f"Nome: {cliente['nome']}\n"
                f"Sobrenome: {cliente['sobrenome']}\n"
                f"Idade: {cliente['idade']}"
            )


def buscar_palavras_por_letra():
    texto = input("\nDigite o texto ou títulos de livros: ")
    letra = input("Digite a letra inicial que deseja buscar: ")

    # Expressão regular para capturar palavras que começam com a letra escolhida
    padrao = rf"\b{letra}[a-zA-ZÀ-ÿ]*"
    palavras = re.findall(padrao, texto, flags=re.IGNORECASE)

    if palavras:
        print(f"\nPalavras que começam com '{letra}':")
        for p in palavras:
            print("-", p)
    else:
        print(f"\nNenhuma palavra encontrada iniciando com '{letra}'.")


# Execução
cadastrar_cliente()
buscar_palavras_por_letra()

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Bom dia, Luciano! Tudo bem?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de expressões regulares para validar e extrair dados de forma precisa, utilizou muito bem o dicionário clientes para armazenar informações estruturadas e ainda compreendeu a importância do controle de fluxo com validações e limpeza de tela para tornar a experiência do usuário mais organizada.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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