10. Condicionales I

Vídeo

Notas personales

Las estructuras condicionales nos permiten alterar el flujo de ejecución de un programa. Por lo que respecta al condicional if, tiene la siguiente sintaxis:

if condición:
    instrucciones

La anterior condición suele venir expresada a través de operadores de comparación (<, >, <=, >=, ==, !=). Veamos un sencillo ejemplo de aplicación de una estructura condicional if en la definición de una función:

def evaluacion(nota):
    valoracion = "Aprobado"
    if nota < 5:
        valoracion = "Suspenso"
    return valoracion


print(evaluacion(6))  # Aprobado
print(evaluacion(1))  # Suspenso
print(evaluacion(2.1))  # Suspenso

Programemos una versión interactiva del anterior bloque de instrucciones, donde el usuario ha de introducir la nota durante la ejecución del código (a través de la función input()). Para ello, necesitamos activar la consola mediante el menú Tools, opción SublimeREPL y en el apartado Python seleccionamos Python - RUN current file.

def evaluacion(nota):
    valoracion = "Aprobado"
    if nota < 5:
        valoracion = "Suspenso"
    return valoracion


print("Programa de evaluación de notas de alumnos")

nota_alumno = input()

print(evaluacion(nota_alumno))

No obstante, si ejecutamos e insertamos una nota numérica (por ejemplo, 8), Python nos arroja el siguiente error:

# TypeError: '<' not supported between instances of 'str' and 'int'

Ello es debido a que cualquier información introducida por el usuario desde el teclado se almacena como cadena de texto ("8"), y el operador < no está preparado para comparar textos y números. Resolvemos esta situación empleando la función int().

def evaluacion(nota):
    valoracion = "Aprobado"
    if nota < 5:
        valoracion = "Suspenso"
    return valoracion


print("Programa de evaluación de notas de alumnos")

nota_alumno = input()

print(evaluacion(int(nota_alumno)))

Siendo una iteración del programa, por ejemplo,

Programa de evaluación de notas de alumnos
8
Aprobado

La función input() admite la posibilidad de indicar un mensaje:

def evaluacion(nota):
    valoracion = "Aprobado"
    if nota < 5:
        valoracion = "Suspenso"
    return valoracion


print("Programa de evaluación de notas de alumnos")

nota_alumno = input("Introduce la nota del alumno: ")

print(evaluacion(int(nota_alumno)))

Siendo ahora una iteración del programa, por ejemplo:

Programa de evaluación de notas de alumnos
Introduce la nota del alumno: 8
Aprobado

Código fuente

El código fuente y los posibles ficheros externos generados correspondientes a esta lección se encuentran disponibles para su consulta en la carpeta /lecciones/10/ del repositorio.

Anterior
Siguiente