3 usuarios conectados

Validar clave. Ejercicio en Python

Comparte esto

 

Ejemplo: Escribe una función en Python llamada validar_clave que tome una cadena de texto como entrada y devuelva True si la cadena cumple con los siguientes criterios para ser una clave válida, y False en caso contrario:


Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Validar clave

📋 Copiar código


import re

def validar_clave(clave):
  """
  Valida si una cadena cumple con ciertos criterios para ser una clave válida.

  Args:
    clave: La cadena de texto a validar.

  Returns:
    True si la clave es válida, False en caso contrario.
  """
  if len(clave) < 8:
    return False
  if not re.search(r'[A-Z]', clave):
    return False
  if not re.search(r'[a-z]', clave):
    return False
  if not re.search(r'[0-9]', clave):
    return False
  if not re.search(r'[^a-zA-Z0-9\s]', clave):
    return False
  return True

# Ejemplos de uso
clave1 = "Segura1!"
resultado1 = validar_clave(clave1)
print(f"'{clave1}' es válida: {resultado1}")

clave2 = "segura"
resultado2 = validar_clave(clave2)
print(f"'{clave2}' es válida: {resultado2}")

clave3 = "SEGURA"
resultado3 = validar_clave(clave3)
print(f"'{clave3}' es válida: {resultado3}")

clave4 = "12345678"
resultado4 = validar_clave(clave4)
print(f"'{clave4}' es válida: {resultado4}")

clave5 = "SeguraUno"
resultado5 = validar_clave(clave5)
print(f"'{clave5}' es válida: {resultado5}")

clave6 = "Segura Uno!"
resultado6 = validar_clave(clave6)
print(f"'{clave6}' es válida: {resultado6}")

clave7 = "S1!"
resultado7 = validar_clave(clave7)
print(f"'{clave7}' es válida: {resultado7}")

clave8 = "Segura1"
resultado8 = validar_clave(clave8)
print(f"'{clave8}' es válida: {resultado8}")

 

Explicación del Código:

  1. Importa el módulo re: Se utiliza para trabajar con expresiones regulares.

  2. Función validar_clave(clave):

    • Longitud: if len(clave) < 8:: Verifica si la longitud de la clave es menor que 8 caracteres. Si lo es, devuelve False.
    • Mayúscula: if not re.search(r'[A-Z]', clave):: Utiliza re.search() para buscar al menos una letra mayúscula ([A-Z]) en la clave. Si no se encuentra ninguna, devuelve False.
    • Minúscula: if not re.search(r'[a-z]', clave):: Utiliza re.search() para buscar al menos una letra minúscula ([a-z]) en la clave. Si no se encuentra ninguna, devuelve False.
    • Dígito: if not re.search(r'[0-9]', clave):: Utiliza re.search() para buscar al menos un dígito ([0-9]) en la clave. Si no se encuentra ninguno, devuelve False.
    • Carácter Especial: if not re.search(r'[^a-zA-Z0-9\s]', clave):: Utiliza re.search() para buscar al menos un carácter que NO (^) sea una letra (mayúscula o minúscula), un dígito o un espacio en blanco (\s). Si no se encuentra ninguno, devuelve False.
    • Válida: Si la clave pasa todas las comprobaciones anteriores, la función devuelve True.

Ejemplos de Uso:

Los ejemplos muestran cómo la función evalúa diferentes cadenas para determinar si cumplen con los criterios de una clave válida. Se incluyen casos que cumplen con todos los criterios y casos que fallan en uno o más de ellos.