Instrucción condicional if en Python. Sintaxis, bloques else/elif, ejemplos

En el proceso de aprender a programar, muchas veces es necesario crear programas que no son tan fáciles de aplicar en la vida real. Después de todo, de vez en cuando debe seguir las instrucciones solo bajo ciertas condiciones. Para poder implementar esto en el programa, todos los lenguajes tienen sentencias de control. Con su ayuda, puede controlar el flujo de ejecución del código, creando bucles o realizando ciertas acciones solo cuando se cumple una determinada condición.

Hoy hablaremos sobre la declaración if, que verifica la situación actual para una determinada condición y, en función de esta información, toma decisiones sobre acciones futuras.

Tipos de declaraciones de control

En general, if no es la única declaración que controla el flujo de un programa. Así como él mismo puede ser un componente de una cadena más grande de operadores.

También hay bucles y sentencias que controlan el proceso de su ejecución. Hoy solo hablaremos del operador condicional y las cadenas en las que puede participar.

En programación, existe tal cosa como la ramificación. Es precisamente esto lo que significa una secuencia de comandos que se ejecuta solo si se cumple una determinada condición. Los criterios en sí pueden ser diferentes:

  1. Igualdad de una variable a un valor determinado.
  2. Realización de una acción específica.
  3. Estado de la aplicación (contraído o no).

El espectro puede ser mucho mayor. Las declaraciones condicionales vienen en varios tipos:

  1. Con una rama. Es decir, se realiza una sola verificación, como resultado de lo cual se realizan ciertas acciones.
  2. Con dos o más ramas. Si el criterio 1 es verdadero, entonces verifique el criterio 2. Si es verdadero, entonces verifique el 3. Y así, realice tantas verificaciones como sea necesario.
  3. Con varias condiciones. Todo es simple aquí. El intérprete verifica múltiples condiciones o una de ellas.

si la declaración

La estructura de la instrucción if es similar en todos los idiomas. Sin embargo, en Python, su sintaxis es algo diferente a todas las demás:

si condición:

    <expresión de entrada 1>

    <expresión de entrada 2>

<не одящее ажение>

Primero, se declara el propio operador, después de lo cual se escribe la condición bajo la cual comienza a funcionar. La condición puede ser verdadera o falsa.

Esto es seguido por un bloque con comandos. Si sigue inmediatamente un criterio que debe cumplirse, entonces la secuencia de comandos correspondiente se denomina bloque if. Puede usar cualquier número de comandos en él.

¡Atención! La sangría dentro de todos los comandos del bloque if debe ser del mismo tamaño. Los límites del bloque están determinados por las sangrías. 

Según la documentación del idioma, la sangría es de 4 espacios. 

¿Cómo funciona este operador? Cuando el intérprete ve la palabra si, inmediatamente compara la expresión con los criterios especificados por el usuario. Si este es el caso, entonces comienza a buscar instrucciones y a seguirlas. De lo contrario, se saltan todos los comandos de este bloque.

Si una declaración después de la condición no tiene sangría, no se trata como un bloque if. En nuestra situación, esta línea es . Por tanto, independientemente del resultado de la comprobación, se ejecutará esta línea.

Aquí hay un fragmento de código para un ejemplo de cómo funciona este operador.

número = int(entrada(“Ingrese un número: “))

si número > 10:

    imprimir ("El número es mayor que 10")

Este programa solicita al usuario un número y comprueba si es mayor que 10. Si es así, devuelve la información adecuada. Por ejemplo, si el usuario ingresa el número 5, entonces el programa simplemente terminará, y eso es todo.

Pero si especifica el número 100, entonces el intérprete entenderá que es más de diez y lo informará.

¡Atención! En nuestro caso, si la condición es falsa, el programa se detiene porque no se dan comandos después de la instrucción.

Solo hay un comando en el código anterior. Pero hay muchos más de ellos. El único requisito es sangrar.

Ahora analicemos esta secuencia de comandos.

número = int(entrada(“Escribe un número: “))

si número > 10:

    imprimir ("primera línea")

    imprimir ("segunda línea")

    imprimir ("tercera línea")

print(“La línea que se ejecuta, independientemente del número ingresado”)

imprimir(“Finalizar solicitud”)

Intente adivinar cuál será la salida si ingresa los valores 2, 5, 10, 15, 50.

Como puede ver, si el número ingresado por el usuario es más de diez, se emiten tres líneas + una con el texto "Ejecutar cada vez ..." y una "Finalizar", y si es menos de diez, entonces solo una, con un texto diferente. Solo las líneas 3,4,5 se ejecutarán si es verdadero. Sin embargo, las dos últimas líneas se escribirán sin importar el número que especifique el usuario.

Si usa las declaraciones directamente en la consola, el resultado será diferente. El intérprete activa inmediatamente el modo multilínea si, después de especificar el criterio de verificación, presiona Enter.

Supongamos que hemos escrito la siguiente secuencia de comandos.

>>>

>>> n = 100

>>> si n > 10:

...

Después de eso, veremos que >>> ha sido reemplazado por puntos suspensivos. Esto significa que el modo de entrada multilínea está habilitado. En palabras simples, si presiona Enter, será transferido a la entrada de la segunda etapa de la instrucción. 

Y para salir de este bloque, debe agregar una construcción más al bloque. if.

>>>

>>> n = 100

>>> si n > 10:

… imprimir(«nv 10»)

...

Si la condición no es verdadera, el programa finaliza. Esto es un problema, ya que el usuario puede percibir que dicho programa se ha cerrado debido a un fallo. Por lo tanto, es necesario dar retroalimentación al usuario. Para ello, se utiliza un enlace. si-si no.

operador de expresión si-si no

Este operador permite implementar un enlace: si la expresión coincide con una determinada regla, realizar estas acciones, y si no, otras. Es decir, te permite dividir el flujo del programa en dos caminos. La sintaxis es intuitiva:

si condición:

    # si bloque

    declaración 1

    declaración 2

    y así

más:

    # más bloque

    declaración 3

    declaración 4

    y así sucesivamente:

Expliquemos cómo funciona este operador. Primero, la declaración estándar se ejecuta en el hilo tejo, comprobando si coincide condición "verdadero o falso". Otras acciones dependen de los resultados de la verificación. Si es verdadero, la instrucción que está en la secuencia de instrucciones que siguen a la condición se ejecuta directamente. tejo, si es falso entonces más

De esta manera usted puede manejar los errores. Por ejemplo, el usuario necesita ingresar un radio. Obviamente, solo puede ser un número con un signo más, o es un valor nulo. Si es menor que 0, debe emitir un mensaje pidiéndole que ingrese un número positivo. 

Aquí está el código que implementa esta tarea. Pero hay un error aquí. Intenta adivinar cuál. 

radio = int(input(“Ingrese radio: “))

si radio >= 0:

    print(“Circunferencia = “, 2 * 3.14 * radio)

    imprimir(“Área = “, 3.14 * radio ** 2)

    más:

        print(“Ingrese un número positivo”)

Error de discrepancia de sangría. Si y más debe ubicarse sin ellos o con el mismo número de ellos (según estén anidados o no).

Demos otro caso de uso (donde todo será correcto con la alineación del operador): un elemento de aplicación que verifica una contraseña.

contraseña = entrada ("Ingrese la contraseña:")

si contraseña == «sshh»:

    imprimir(“Bienvenido”)

más:

    imprimir ("Acceso denegado")

Esta instrucción omite a la persona más si la contraseña es sshh. Si hay alguna otra combinación de letras y números, entonces muestra el mensaje "Acceso denegado".

declaración-expresión if-elif-else

Solo si varias condiciones no son verdaderas, se ejecuta la sentencia que está en el bloque. más. Esta expresión funciona así.

si condición_1:

    # si bloque

    ambiental

    ambiental

    más declaración

elif condición_2:

    # primer bloque elif

    ambiental

    ambiental

    más declaración

elif condición_3:

    # segundo bloque elif

    ambiental

    ambiental

    más declaración

...

más

    ambiental

    ambiental

    más declaración

Puede especificar cualquier número de condiciones adicionales.

Declaraciones anidadas

Otra forma de implementar varias condiciones es insertar comprobaciones de condiciones adicionales en el bloque if.

Operador if dentro de otro bloque de condición

gre_score = int(input(“Ingrese su límite de crédito actual”))

per_grad = int(input(“Ingrese su calificación crediticia: “))

si per_grad > 70:

    # exterior si bloque

        si gre_score > 150:

            # interior si bloque

    print(“Felicitaciones, ha recibido un préstamo”)

más:

    print(“Lo siento, no es elegible para un préstamo”)

Este programa realiza una verificación de calificación crediticia. Si es menor a 70, el programa informa que el usuario no es elegible para crédito. Si es mayor, se realiza una segunda verificación para ver si el límite de crédito actual es mayor a 150. Si es así, se muestra un mensaje de que se ha emitido el préstamo.

Si ambos valores son falsos, entonces se muestra un mensaje de que el usuario no tiene la posibilidad de obtener un préstamo. 

Ahora reelaboremos un poco ese programa.

gre_score = int(input(“Ingrese límite actual: “))

per_grad = int(input(“Ingrese puntaje de crédito: “))

si per_grad > 70:

    si gre_score > 150:

        print(“Felicitaciones, ha recibido un préstamo”)

    más:

        imprimir ("Su límite de crédito es bajo")

más:

    print(“Lo siento, no es elegible para el crédito”)

El código en sí es muy similar, pero anidado if también proporciona un algoritmo en caso de que la condición resulte ser falsa. Es decir, el límite de la tarjeta es insuficiente, pero el historial crediticio es bueno, se muestra el mensaje “Tienes una calificación crediticia baja”.

instrucción if-else dentro de una condición más

Hagamos otro programa que determine la calificación de un estudiante según los puntajes de las pruebas.

puntaje = int(input(“Ingrese su puntaje: “))

si puntuación >= 90:

    print("¡Genial! Tu calificación es A")

más:

    si puntuación >= 80:

print("¡Genial! Tu calificación es B")

    más:

si puntuación >= 70:

    print(“¡Bien! Tu calificación es C”)

más:

    si puntuación >= 60:

print(“Tu calificación es D. Vale la pena repetir el material.”)

    más:

print(“Reprobaste el examen”)

La aplicación primero verifica si el puntaje es mayor o igual a 90. Si es así, devuelve una calificación A. Si esta condición es falsa, se realizan comprobaciones posteriores. Vemos que el algoritmo es casi el mismo a primera vista. Así que en lugar de comprobar dentro más mejor usar una combinación si-elif-else.

Entonces el operador if realiza una función muy importante: se asegura de que ciertas piezas de código se ejecuten solo si es necesario. Es imposible imaginar la programación sin él, porque incluso los algoritmos más simples requieren bifurcaciones como "si vas a la izquierda, lo encontrarás, y si vas a la derecha, entonces necesitas hacer esto y aquello".

Deje un comentario