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.