AnteriorPosterior

3 - Comprobación de condiciones

Por: Nacho Cabanes
Actualizado: 18-04-2019 09:44
Tiempo de lectura estimado: 6 min.

 

Python

3 - Comprobación de condiciones

En casi cualquier secuencia de instrucciones para un ordenador, será vital poder comprobar si se cumple alguna condición. Una primera forma básica de comprobar condiciones es con la orden "if" ("si" condicional). Su uso básico sería

primerNumero = int( input ( "Dime un numero: " ))
segundoNumero = int ( input ( "Dime otro numero: " ))

if primerNumero > segundoNumero:
    print("El primero es mayor")

Como se ve en el ejemplo, la orden debe terminar con el símbolo de "dos puntos" (:). Los pasos a realizar si se cumple la condición, se DEBEN escribir un poco más a la derecha que la orden que las precede (típicamente 4 espacios -como mínimo 2- o un "salto de tabulación").

Ejercicios propuestos:

  • 3.1. Crea un programa que pida al usuario un número entero y le responda si es positivo (mayor que cero)

Existe un segundo bloque opcional, llamado "else", en el que podemos detallar lo que queremos que se haga cuando no se cumpla la condición.

primerNumero = int( input ( "Dime un numero: " ))
segundoNumero = int ( input ( "Dime otro numero: " ))

if primerNumero > segundoNumero:
    print("El primero es mayor")
    print("Y con eso hemos terminado")
else:
    print("El segundo es mayor")
    print("(o son iguales)")

Al igual que ocurría con el bloque "if", el "else" debe terminar en "dos puntos" (:), y los pasos a realizar también se deben tabular un poco más a la derecha.

Ejercicios propuestos:

  • 3.2. Crea un programa que pida al usuario un número entero y le responda si es positivo o si no lo es

Los operadores que podemos usar para comparar son:

Operador relacional Significado Ejemplo
> Mayor que 3 > 2
< Menor que 2 < 3
\== Igual que 3 == 3
!= Distinto de 4 != 3
<= Menor o igual que 7 <= 6
>= Mayor o igual que 4 >= 5

Así, un ejemplo más completo que el anterior, que diga cual es el mayor de dos números y que también avise en caso de que sean iguales, podría ser:

primerNumero = int( input ( "Dime un numero: " ))
segundoNumero = int ( input ( "Dime otro numero: " ))

if primerNumero > segundoNumero:
    print ("El primero es mayor")
else:
    if primerNumero == segundoNumero:
        print ("Son iguales")
    else:
        print ("El segundo es mayor")

Ejercicios propuestos:

  • 3.3. Crea un programa que pida al usuario un número entero y le responda si es positivo, negativo o cero

  • 3.4. Crea un programa que pida al usuario un número entero y le responda si es par (el resto al dividir entre dos vale cero) o si no lo es

  • 3.5. Crea un programa que pida al usuario dos números reales y muestre el mayor de los dos (por ejemplo, si los números son -1.5 y 3.72, debería escribir en pantalla 3.72

  • 3.6. Crea un programa que pida al usuario dos números enteros y muestre en pantalla su división (o si el segundo es cero) el mensaje de aviso "no se puede dividir entre cero"

Si nuestro programa tiene muchos "if" encadenados, cada nuevo bloque "if" debería aparecer tabulado un poco más a la derecha que el anterior, por lo que nuestro programa acabaría pareciendo "una escalera", y resultando difícil de leer. Por eso, tenemos una orden "elif", como abreviatura de "else if", que no es necesario tabular. Así, el programa anterior se podría reescribir de la siguiente forma:

primerNumero = int( input ( "Dime un numero: " ))
segundoNumero = int ( input ( "Dime otro numero: " ))

if primerNumero > segundoNumero:
    print ("El primero es mayor")
elif primerNumero == segundoNumero:
    print ("Son iguales")
else:
    print ("El segundo es mayor")

Las condiciones se pueden enlazar usando "and" (y), "or" (o) o "not" ("no").

primerNumero = int( input ( "Dime un numero: " ))
segundoNumero = int ( input ( "Dime otro numero: " ))

if primerNumero > 0 and segundoNumero >0:
    print ("Ambos son positivos")

Ejercicios propuestos:

  • 3.7. Crea un programa que pida al usuario tres números reales y muestre el mayor de los tres
  • 3.8. Crea un programa que pida al usuario dos números enteros y los muestre ordenados (primero el menor de ellos y luego el mayor de ellos)
  • 3.9. Crea un programa que pida al usuario un número real y muestre su raíz cuadrada (si es positivo) o un aviso de que no se puede calcular la raíz cuadrada (si es negativo)

17027 visitas desde el 18-04-2019

AnteriorPosterior