Olá, Luciano! Como vai?
Muito bem! Continue resolvendo os desafios e compartilhando com a comunidade Alura.
Observei que você explorou o uso de funções para validação contínua, utilizou muito bem o laço while para garantir a entrada correta do usuário e ainda compreendeu a importância do retorno dos valores validados para uso posterior no fluxo do programa.
Uma dica interessante para o futuro é usar expressões regulares (regex) para validar formatos específicos, como o nome ou a senha. Dessa forma:
import re
def validar_senha():
padrao = r'^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$' # Pelo menos 8 caracteres contendo letras e números
while True:
senha = input('Digite sua senha - deve conter letras e números, no mínimo 8 caracteres: ')
if re.match(padrao, senha):
return senha
print('Senha inválida! Tente novamente.')
Resultado:
Digite sua senha - deve conter letras e números, no mínimo 8 caracteres: 12345678
Senha inválida! Tente novamente.
Digite sua senha - deve conter letras e números, no mínimo 8 caracteres: 123456
Senha inválida! Tente novamente.
Digite sua senha - deve conter letras e números, no mínimo 8 caracteres: qawsed1
Senha inválida! Tente novamente.
Digite sua senha - deve conter letras e números, no mínimo 8 caracteres: 1q2w3e4r
1q2w3e4r
Isso faz a validação ficar mais robusta, garantindo maior segurança e qualidade nas entradas do usuário.
Para saber mais:
Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:
Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!