Última actualización: 04 de diciembre de 2023

6. Bucle con sentencia «else»

6.1. Bucle “for” con “else”

Al igual que la sentencia if y el bucle while, la estructura for también puede combinarse con una sentencia else.

El nombre de la sentencia else es equivocada, ya que el bloque else se ejecutará en todos los casos, es decir, cuando la expresión condicional del bucle for sea False, (a comparación de la sentencia if).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
""" Ejemplo de uso de bucle 'for' con sentencia 'else' """

print("\nBucle 'for' con sentencia 'else'")
print("================================\n")

print("Ejemplo: Itera un tupla con datos de conexión a base de datos\n")

db_connection = "127.0.0.1", "5432", "root", "nomina"
for parametro in db_connection:
    print(parametro)
else:
    print(
        """El comando PostgreSQL es:
$ psql -h {server} -p {port} -U {user} -d {db_name}""".format(
            server=db_connection[0],
            port=db_connection[1],
            user=db_connection[2],
            db_name=db_connection[3],
        )
    )

La sentencia else tiene la ventaja de mantener el mismo nombre y la misma sintaxis que en las demás estructuras de control.

6.2. Bucle “while” con “else”

Al igual que la sentencia if, la estructura while también puede combinarse con una sentencia else).

El nombre de la sentencia else es equivocada, ya que el bloque else se ejecutará en todos los casos, es decir, cuando la expresión condicional del while sea False, (a comparación de la sentencia if).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
""" Ejemplo de uso de Bucle 'while' con sentencia 'else' """

print("\nBucle 'while' con sentencia 'else'")
print("==================================\n")

print("Ejemplo: calcular el promedio de notas de N estudiante ")
print("en un grado escolar, como se muestra a continuación:\n")

promedio, total, contar = 0.0, 0, 0
mensaje = "Introduzca la nota de un estudiante (-1 para salir): "

grado = int(input(mensaje))
while grado != -1:
    total = total + grado
    contar += 1
    grado = int(input(mensaje))
else:
    promedio = total / contar
    print("Promedio de notas del grado escolar: " + str(promedio))

La sentencia else tiene la ventaja de mantener el mismo nombre y la misma sintaxis que en las demás estructuras de control.


Ver también

Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento en esta temática.


¿Cómo puedo ayudar?

¡Mi soporte está aquí para ayudar!

Mi horario de oficina es de lunes a sábado, de 9 AM a 5 PM. GMT-4 - Caracas, Venezuela.

La hora aquí es actualmente 7:35 PM GMT-4.

Mi objetivo es responder a todos los mensajes dentro de un día hábil.

Contrata mi increíble soporte profesional