Al momento de solucionar un problema o automatizar una tarea por medio de la programación (y en la vida cotidiana también aunque no nos demos cuenta), siempre tenemos que analizar algo y depende del resultado vamos a optar por una acción u otra (o grupos de acciones). Si bien hay varias estructuras que nos ayudan a elegir como tratar los datos que recibe el programa. Hoy vamos a ver la mas simple, en la mayoría de los lenguajes tiene la palabra reservada IF (no me animo a decir que en todos los lenguajes). en Español significa SI, en su forma condicional, por ejemplo.
SI la nota es mayor a 7Entonces aprueba
SINO
Entonces no aprueba
Eso es lo que hacemos de forma inconsciente al momento de ver la nota de un parcial. Establecemos una condición y y vemos si la nota satisface esa condición. Ahora bien, para que una computadora, pueda hacer la comparación, hay que cumplir con la sintaxis del lenguaje, y en el caso de Python es como mostramos a continuación, vamos a analizar la variable nota y si es mayor o igual a 7 vamos a mostrar una leyenda que diga “Aprobo”, y si no, otro cartel que informe lo contrario.
1 2 3 4 5 | nota=int(raw_input("Ingrese nota: ")) if(nota>=7): print "Aprobo" else: print "no Aprobo" |
Como ven, primero pedimos el ingreso de la nota, que fue almacenado en la variable nota y luego lo comparamos contra algo, en este caso el numero 7. Ahora expliquemos bien la la sintaxis de la sentencia if. Tomando como referencia el ultimo bloque de código, pueden ver que luego de la palabra if, entre paréntesis hay una condición (si se deben comparar varias cosas, cada una entre parentesis con operadores Lógicos como and o or, ya lo explicaremos), y luego dos puntos, y luego a la siguiente linea por medio de INTRO, como verán, automáticamente se crea la sangría (que en programación se conoce como Indentación), en otros lenguajes, la Indentación es una buena practica opcional, aquí en Python es obligatorio, ya que el sistema lo utiliza para delimitar las estructuras. Cabe aclarar, como se ve en el bloque de código anterior, que la sentencia else esta al mismo nivel que if y también requiere los dos puntos. La sentencia else no es obligatoria. Por ejemplo, si deseamos que solo se muestre el mensaje de APROBADO y si no, que no se haga nada, entonces podemos omitir usar el else.
Usando mas de una condición:
Si necesitamos, comparara más de un elemento a una o varias condiciones se debe hacer cada una de las comparaciones entre paréntesis, y depende de lo que necesitemos usar un operador Lógico:
- AND: Cuando necesitamos que ambas condiciones se den para dar un resultado verdadera.
- OR: Cuando con darse solo una de las condiciones como verdadera alcanza para dar la totalidad de la condición como verdadera.
Vamos ahora a dar un ejemplo con OR, vamos a analizar la velocidad de un automóvil, para saber si esta en infracción, en la carretera sabemos que la velocidad mínima es 60KM/h y la máxima es 120KM/h, si no esta dentro de ese rango esta en infracción, así que vamos a analizar la velocidad contra estas DOS condiciones:
1 2 3 | velocidad=int(raw_input("Ingrese la velocidad del vehículo: ")) if(velocidad<60)or(velocidad>120): print "No respeta la Velocidad de la carretera" |
Como ven, al cumplirse alguna de las dos muestra el mensaje, si ninguna de las dos se cumple, no muestra nada, así que no vamos a utilizar la sentencia else.
Ahora un ejemplo con AND, vamos a analizar nuevamente la velocidad del auto pero en vez de preguntarnos si en menor a 60 O mayor a 120, vamos a preguntar si es mayor a 60 Y menor a 120
1 2 3 4 5 | velocidad=int(raw_input("Ingrese la velocidad del vehiculo: ")) if(velocidad>=60)and(velocidad<=120): print "respetando los limites de velocidad" else: print "en Infraccion" |
Ahora vamos a ver un par de ejemplos:
Si ingresamos dos números, indicar si son iguales o no:
1 2 3 4 5 6 7 | print "dados dos números, indicar si son iguales" a=int(raw_input("Ingrese un numero: ")) b=int(raw_input("Ingrese el 2do numero: ")) if(a==b): print "Son Iguales" else: print "no son iguales" |
En este ejemplo, se puede ver que comparamos una variable contra otra y no contra un valor estático como veníamos haciendo, por otro lado, el operador == sirve para chequear igualdad.
Ahora Vamos a ver un Ejemplo de Anidamiento de if
1- Dados dos números:
- a. La suma, si el primero es menor que el segundo.
- b. La diferencia, si el primero es mayor que el segundo.
- c. El producto, si son iguales.
1 2 3 4 5 6 7 8 9 | a=int(raw_input("Ingrese el primer valor: ")) b=int(raw_input("Ingrese el segundo valor: ")) if(a<b): print a+b else: if(a>b): print a-b else: print a*b |
Como ven, luego del else volvimos a preguntar, esta vez si a es mayor a b, y por ultimo en este else que queda, ponemos por descarte a por b, ya que al descartar las anteriores opciones, solo quedan que sean iguales.
Esto es todo por ahora, espero que les sea útil.
0 Responses to “Primerísimos pasos en Python: La estructura de decisión IF”