Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

285
Vistas
Cómo usar una declaración else con varias declaraciones if

Así que estoy tratando de hacer un aviso de inicio de sesión y quiero que imprima 'Éxito' solo si no hay errores. Este es el código que estoy usando:

 if not is_email(email) or not is_name(name) or password != confirmPassword or not is_secure(password): if not is_email(email): print('Not a valid email') if not is_name(name): print('Not a valid name') if password != confirmPassword: print('Passwords don\'t match') if not is_secure(password): print('Password is not secure') else: print('Success')

¿Habría alguna forma de acortar este código? Quiero que muestre todos los errores a la vez, así que no estoy usando elif.

over 4 years ago · Santiago Trujillo
4 Respuestas
Responde la pregunta

0

Una forma de evitar repetir las pruebas:

 ok = True if not is_email(email): print('Not a valid email') ok = False if not is_name(name): print('Not a valid name') ok = False if password != confirmPassword: print('Passwords don\'t match') ok = False if not is_secure(password): print('Password is not secure') ok = False if ok: print('Success')

No es más breve, pero es claro y evita las comparaciones adicionales, por lo que es más rápido y menos derrochador.

over 4 years ago · Santiago Trujillo Denunciar

0

Una forma es usar una bandera:

 has_errors = False if not is_email(email): print(...) has_errors = True ... if not has_errors: print("Success!")
over 4 years ago · Santiago Trujillo Denunciar

0

¿Qué tal esto?

 flags = [is_email(email), is_name(name), password != confirmPassword, is_secure(password)] prints = ['Not a valid email', 'Not a valid name', 'Passwords don\'t match', 'Password is not secure'] for index in range(len(flags)): if flags[index] == False: print(prints[index])
over 4 years ago · Santiago Trujillo Denunciar

0

Otro enfoque: acumule los errores en una lista, y luego puede verificar la veracidad de la lista de errores en lugar de volver a verificar todas las condiciones de error. Esto también le evita tener que mantener otra parte del estado y tener otra línea de código en cada bloque if para actualizarlo.

 errors = [] if not is_email(email): errors.append('Not a valid email') if not is_name(name): errors.append('Not a valid name') if password != confirmPassword: errors.append('Passwords don\'t match') if not is_secure(password): errors.append('Password is not secure') print("\n".join(errors or ["Success"]))
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda