1 usuario conectado

Validar nombre de usuario. Ejercicio en Python

Comparte esto

 

Escribe una función en Python llamada validar_nombre_usuario que tome una cadena de texto como entrada y devuelva True si la cadena cumple con los siguientes criterios para ser un nombre de usuario válido, y False en caso contrario:



Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Validar nombre de usuario

📋 Copiar código

def validar_nombre_usuario(nombre_usuario):
  """
  Valida si una cadena cumple con ciertos criterios para ser un nombre de usuario válido.

  Args:
    nombre_usuario: La cadena de texto a validar.

  Returns:
    True si el nombre de usuario es válido, False en caso contrario.
  """
  longitud = len(nombre_usuario)
  if not (3 <= longitud <= 15):
    return False

  for char in nombre_usuario:
    if not ('a' <= char <= 'z' or '0' <= char <= '9' or char == '_'):
      return False

  if nombre_usuario.startswith('_') or nombre_usuario.endswith('_'):
    return False

  if '__' in nombre_usuario:
    return False

  return True

# Ejemplos de uso
usuario1 = "usuario_valido123"
resultado1 = validar_nombre_usuario(usuario1)
print(f"'{usuario1}' es válido: {resultado1}")

usuario2 = "us"
resultado2 = validar_nombre_usuario(usuario2)
print(f"'{usuario2}' es válido: {resultado2}")

usuario3 = "demasiado_largo_nombre_de_usuario"
resultado3 = validar_nombre_usuario(usuario3)
print(f"'{usuario3}' es válido: {resultado3}")

usuario4 = "UsuarioConMayusculas"
resultado4 = validar_nombre_usuario(usuario4)
print(f"'{usuario4}' es válido: {resultado4}")

usuario5 = "nombre-con-guion"
resultado5 = validar_nombre_usuario(usuario5)
print(f"'{usuario5}' es válido: {resultado5}")

usuario6 = "_empieza_con_guion"
resultado6 = validar_nombre_usuario(usuario6)
print(f"'{usuario6}' es válido: {resultado6}")

usuario7 = "termina_con_"
resultado7 = validar_nombre_usuario(usuario7)
print(f"'{usuario7}' es válido: {resultado7}")

usuario8 = "guion__seguido"
resultado8 = validar_nombre_usuario(usuario8)
print(f"'{usuario8}' es válido: {resultado8}")

usuario9 = "valido"
resultado9 = validar_nombre_usuario(usuario9)
print(f"'{usuario9}' es válido: {resultado9}")



Explicación del Código:

  1. Función validar_nombre_usuario(nombre_usuario):
    • Longitud: Verifica si la longitud del nombre_usuario está dentro del rango permitido (3 a 15 caracteres).
    • Caracteres permitidos: Itera a través de cada carácter de la cadena y comprueba si es una letra minúscula, un número o un guion bajo. Si encuentra algún otro carácter, la función devuelve False.
    • Guion bajo al inicio o al final: Utiliza los métodos de cadena startswith('_') y endswith('_') para verificar si el nombre de usuario comienza o termina con un guion bajo. Si es así, devuelve False.
    • Guiones bajos consecutivos: Utiliza el operador in para verificar si la subcadena '__' (dos guiones bajos seguidos) está presente en el nombre de usuario. Si lo está, devuelve False.
    • Válido: Si el nombre de usuario pasa todas estas comprobaciones, la función devuelve True.

Ejemplos de Uso:

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

Este ejemplo utiliza solo las funcionalidades básicas de cadenas y estructuras de control de Python, sin necesidad de instalar nada adicional. ¿Te resulta interesante este tipo de validación?