Construa uma função que retorne VERDADEIRO ou FALSO quanto ao critério de uma senha passado por parâmetro. A senha deverá ter de 8 a 12 caracteres e possuir ao menos um caractere numérico, ao menos um caractere especial, ao menos um caractere de letra minúscula e ao menos um caractere de letra maiúscula.
Passo 1
Beleza, vamos lá! Você precisa criar uma função que verifica se uma senha atende a certos critérios. A senha deve ter entre 8 e 12 caracteres, ter pelo menos um número, um caractere especial, uma letra minúscula e uma letra maiúscula. Para resolver isso, vamos usar conceitos básicos de programação como manipulação de strings e uso de expressões regulares.
Passo 2
Primeiro, vamos definir a função. Vamos chamar ela de
validar_senha
e ela vai receber uma senha como parâmetro.Passo 3
Dentro da função, vamos verificar se o tamanho da senha está entre 8 e 12 caracteres. A gente pode usar a função
len()
para isso.Passo 4
Agora, precisamos verificar se há pelo menos um número na senha. Podemos fazer isso usando uma expressão regular que procura por dígitos de 0 a 9.
Passo 5
Em seguida, vamos conferir se existe pelo menos um caractere especial. Caractere especial pode ser qualquer símbolo que não seja uma letra ou número. Usamos outra expressão regular para isso.
Passo 6
Depois, vamos verificar se tem pelo menos uma letra minúscula na senha. Mais uma vez, uma expressão regular vai ajudar a encontrar se há alguma letra de ‘a’ a ‘z’.
Passo 7
Por fim, vamos checar se tem pelo menos uma letra maiúscula, usando uma expressão regular que busca por letras de ‘A’ a ‘Z’.
Passo 8
Se a senha passar por todas essas verificações, a função retorna
True
(VERDADEIRO). Caso contrário, retorna False
(FALSO).Resposta
import re
def validar_senha(senha):
# Verifica o tamanho da senha
if len(senha) < 8 or len(senha) > 12:
return False
# Verifica se há pelo menos um número
if not re.search(r'\d', senha):
return False
# Verifica se há pelo menos um caractere especial
if not re.search(r'[^A-Za-z0-9]', senha):
return False
# Verifica se há pelo menos uma letra minúscula
if not re.search(r'[a-z]', senha):
return False
# Verifica se há pelo menos uma letra maiúscula
if not re.search(r'[A-Z]', senha):
return False
return True
# Exemplos de uso:
print(validar_senha("Senha123!")) # Deve retornar True
print(validar_senha("senha")) # Deve retornar False