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