1
resposta

[Projeto] Minha resolução

from time import sleep

while True:
    nome_cliente = input("Digite o nome do cliente para validação: ").strip()
    if nome_cliente:
        apenas_letras = nome_cliente.replace(" ", "").isalpha()
        primeira_letra_maiuscula = nome_cliente[0].istitle()
        if apenas_letras:
            print("Tem apenas letras no nome!")
            sleep(1)
        else:
            print("Caracteres não condizem com as regras! Nome inválido!")
            continue
        if primeira_letra_maiuscula:
            print("A primeira letra está maiúscula!")
            sleep(1)
            print(f"O nome é {nome_cliente} e é válido!")
            break
        else:
            print("Primeiras letras não estão em maiúsculo! Nome inválido!")
            continue
    else:
        print("Nome inválido!")
        continue
1 resposta

Oi, Gustavo! Como vai?

Você organizou bem a validação usando strip(), replace() e isalpha(), além de controlar o fluxo com continue e break. Um ponto legal é que o código já separa as verificações: primeiro confere se o nome tem apenas letras e depois valida se a primeira letra está maiúscula.

Uma dica interessante para o futuro é usar regex com o módulo re, já que a atividade trabalha com esse tema. Veja este exemplo:


import re

nome_cliente = input("Digite o nome do cliente: ").strip()

padrao = r"^[A-Z][a-zA-Z ]+$"

if re.match(padrao, nome_cliente):
    print("Nome valido")
else:
    print("Nome invalido")

Esse código verifica se o nome começa com letra maiúscula e se possui apenas letras e espaços Continue praticando, pois sua solução mostra uma boa noção de validação e controle de fluxo em Python.

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