Vamos a comenzar a trabajar el flujo en el tema 3 controlando el flujo y con la sentencia y dentro de
las sentencias condicionales el ifo Sigue en español.
Posiblemente sea la más famosa y utilizada en toda la programación porque nos permite condicionar el
flujo de un programa y dividir la ejecución en diferentes caminos.
Para entendernos sería algo así como dotar al ordenador de la capacidad de distinguir varias opciones
para actuar de forma distinta.
En la práctica es muy sencillo utilizar el IF y no servirá para introducir también un concepto llamado
bloque de código.
Por ejemplo vamos a escribir lo siguiente Vamos a poner y Tru si es verdadero.
Vamos a apretar Enter.
Como véis ya me hace una tentación una tabulación vamos a poner.
Se cumple la condición vamos a ejecutarlo y como veis se ejecuta y me muestra este print en Payton definimos
un bloque de instrucciones después de una sentencia de control con dos puntitos y es muy importante
que todo el bloque que se ejecutará debe de estar intentado porque esto indica que está dentro de esta
condición dentro de este bloque y únicamente se ejecutará si se cumple la condición.
Es muy importante que todo el contenido esté a un nivel distinto del de la instrucción que lo contiene.
De esta forma podríamos ejecutar tantas instrucciones como queramos.
Por ejemplo podríamos poner otro Prin dentro de esta condición y poner también muestra este print.
Como veis.
En tanto siempre que le pasemos salif una expresión lógica o un valor lógico como Struck.
Siempre se ejecutará.
Es la condición para que se ejecute.
En cambio si le pasamos algo que no sea True por ejemplo Folks false.
Pues no se ejecuta nada entonces no entra nunca.
Y si le dijéramos algo que no es falso.
If Not false.
Pues entonces sí que entra porque false equivale a truc verdadero.
Probemos ahora una expresión que devuelve Truffaut el lugar del tipológico.
Intentemos crear más ifes porque podemos encadenar masivos.
Vamos a crear una variable a y lo vamos a otorgar el valor 5 y vamos a comprobar que esta variable a
tenga por ejemplo el valor de dos y a igual a 2.
Perdón a Balaidos.
Y luego vamos a volver otra vez al Bloque General y vamos a hacer otra condición.
Es igual a 5 print a vale 5.
Vamos a ejecutarlo.
Como veis detectã Solamente el segundo porque el resultado de la primera expresión.
De la primera expresión relacional igualados.
Es falso.
Por tanto esto no es no se muestra no entra aquí pero en cambio el segundo sí que se cumple y sí que
entra aquí también podemos definir HIPS dentro de IFS siempre que respetemos los niveles de tabulación
por ejemplo igual a 5 igual a 10 si a a b es igual a cinco.
Podríamos poner fin a Vale.
Y fuera una coma.
Y mostramos el valor de si estamos aquí vamos a encadenar otro ihf dentro del IRPF.
B igual a 10 y dentro
de Vale y vamos a por una como afuera vale para que muestre el valor que tiene.
Vamos a ejecutarlo y entra dentro del primer ihf este de aquí me muestra que vale 5 y dentro de este
IFF tengo esta otra condición si ve vale 10 entonces mostrar y B vale y el valor de B.
De hecho si queremos podemos hacer ambas comprobaciones a la vez gracias a una expresión lógica.
Es igual a 5 y B es igual a 10 los puntos
a vale por ejemplo 5 y vale 10.
Si ejecutamos esto como ya tenemos aquí los valores guardados.
5.
B.
10.
Mostramos el resultado.
Estamos condicionando introducciones.
Otro aspecto importante de la sentencia es que tenemos que tener siempre en cuenta es que tiene una
especie de hermano llamado Else en español sino que se puede encadenar al final del bloque ihf para
comprobar que el caso contrario automáticamente.
Es decir cuando no se cumple la condición por ejemplo n igual a 10 un número que vale 10 15 m módulo
2 igual a cero podríamos decir trinquet N y una cadena es un número par.
En cambio si encadenamos sacando fuera este ense a continuación del IF de la parte del bloque de un
bloque ense dos puntitos podemos hacer lo contrario.
N No es un par o mejor dicho es un número impar.
Vamos a probarlo.
Y nos dice que 10 es un número par.
En cambio si pusiéramos por ejemplo un once nos diría que es un número impar.
Por qué.
Porque primero se hace esta comprobación y si ésta no es correcto no es verdadero pues se ejecuta a
la otra.
Y todavía podemos encontrar otra sentencia relacionada con el libro y el ense llamada elite.
O si no si en español gracias a la que podemos encadenar muchísimas más comprobaciones.
Esto es muy útil por ejemplo para crear menús o comandos o alguna cosa de estas por ejemplo imaginar
que creó un comando que yo he leído por pantalla en algún momento y guardo el contenido de la cadena
salir.
Yo tengo que determinar lo que quiero hacer con este comando para hacer alguna cosa dentro del programa
no os voy a hacer una comprobación si el comando es igual a entrar por ejemplo para ponerlo así en mayúscula
pospondría.
Bienvenido por ejemplo al sistema.
Ahora quiero comprobar otro caso.
Pero cómo van a ser múltiples.
En lugar de hacer un élse voy a poner el IFE y voy a poner el comando en el caso de que no sea entrar
pero sea otro comando por ejemplo saludar al que le decimos a la máquina que queremos que salude.
Es decir mil.
Hola espero que estes pasándolo bien
aprendiendo.
Otra posibilidad.
El ID mando que valga por ejemplo salir y en este caso saldremos Prin.
Traemos un mensaje saliendo del sistema y ya saldríamos del sistema.
Y cuando no sea ninguno de estos casos cuando no sea entrar tampoco sea saludar ni tampoco sea salir.
Podemos finalmente encadenar el Eloise para mostrar un mensaje genérico frin.
Este mensaje no se reconoce.
Perdón mensaje de comando ejecutarlo como el comando de salir detecta que queremos salir del sistema
si el comando fuera entrar nos diría Bienvenido al sistema si el comando fuera a saludar nos diría Hola
espero que te lo estoy pasando bien aprendido Payton y si fuera otra cosa que no fuera ninguna de estas
nutriría que este comando no se reconoce.
Es muy importante tener en cuenta que el uso de.
A diferencia de varios I.V como antes comprueba las condiciones de arriba abajo hasta que se cumple
una de ellas y si es así las demás no se comprueban.
Esto lo vais a entender mejor con este programa para determinar la calificación de un examen.
Vamos a hacer por ejemplo lo siguiente Vamos a leer una nota por teclado con float input para convertirlo
a un número real un número decimal.
Introduce
una nota
a partir del resultado de esta nota que nosotros hemos leído.
Pues vamos a determinar si la nota es mayor o igual que 9 por ejemplo vamos a hacer un Prin y diremos
que la nota es un sobresaliente.
Es prácticamente perfecto un 9 o 10 es perfecto.
En cambio una nota más grande o igual que 7 nos dirá por ejemplo que es un notable.
Añadiendo otro elife podemos comprobar si la nota es mayor o igual que 6 por ejemplo.
Y decir que es un bien.
Otro caso elife nota mayor o igual que en 5.
Diríamos que esto es un suficiente y en cualquier otro caso diríamos que esto es un insuficiente o un
suspenso sufri cierto.
Si nosotros ejecutamos este código introducimos una nota por ejemplo 10 no existe que es un sobresaliente
detecta este decir ella se sale del programa y no se ejecuta nada más.
Si queremos ejecutarlo leíamos por ejemplo un 6 nos dice que es un bien comprobar el primer IFF no se
cumple compruébalo segundo el irph no se cumple comprueba el tercer.
El segundo el perdón se cumple lo muestra y todo lo demás ya no se ejecuta.
En cambio si lo copio todo y utiliza semos Hives en lugar del IRPF y el ELS por ejemplo poniendo nota
mayor o igual que 9 nota mayor o igual que 7 nota mayor o igual que 6 nota mayor o igual que 5.
Y por último en vez de leerlas pusieramos nota menor que 5 por ejemplo para saber que es menor que un
aprobado.
Si lo ejecutamos esta vez introducimos por ejemplo un 6 fijarlo que va a ocurrir que nos dice que está
bien y que suficiente.
Por qué.
Porque el primer ivic IFF no se cumple el segundo tampoco pero el tercero sí que se cumple porque es
mayor igual que seis y también se cumple el siguiente ihf porque es mayor igual que cinco.
Por tanto también muestra el suficiente.
Y si pusiéramos nun sois pusieramos un 10.
Fijar lo que va a pasar no dice que es un sobresaliente notable bien suficiente.
Por qué se cumple la primera.
Se cumple el segundo y se cumple el tercero y se cumple hasta aquí el único caso en el que funcionaría
bien este código sería si la nota fuera menor que el 5 por ejemplo 3 porque es directamente solamente
se cumpliría el último.
En el caso de que queramos utilizar simplemente IBES tenemos que limitar los roncos para cada IRPF en
el propio IRPF.
Por ejemplo comprobar que la nota sea mayor o igual que 7 y a la vez sea menor que 9.
O que la nota sea mayor igual que 6 y a su vez sea menor que 7 o que sea mayor igual que el 5 y a su
vez sea menor que 6.
De esta manera es la única.
Dónde podríamos evitar el uso de el IRS.
Pero como veis es mucho más sencillo hacerlo con Elipe que hacerlo así si ponemos de esta forma un 10
ya solamente se ejecuta el primero.
Por qué.
Porque no se cumplen ambas posibilidades.
Si ponemos un 10 todos bien si ponemos un 8 notable por qué.
Porque es mayor o igual a 7.
Pero a la vez es menor que 9.
Sería como decirles es 7 8.
Así que como veis utilizar correctamente el IP nos puede ahorrar a escribir muchísimo código.
Por último os quiero introducir una palabra clave llamada paz que se puede utilizar para definir un
bloque vacío.
Por ejemplo imaginar que creamos una estructura un bloque condicional if pero no queremos escribir nada
por ahora simplemente queremos poner que lo tenemos ahí.
Y hasta entonces utilizaríamos la palabra paz.
Aparentemente no tiene mucha utilidad pero para hacer esqueletos de estructuras pues puede servirnos
simplemente os lo comento para que sepáis que puede funcionar y así hemos acabado con los condicionales.
Quizás si venís de otro lenguaje os preguntaréis qué pasa con la sentencia switch en Python.
La respuesta es que no existe pero tampoco es un problema ya que hay muchas formas de simular su comportamiento
con funciones y diccionarios de los cuales hablaremos más adelante.