Colaboratory logo Alternative text

Condicionales y ciclos#

Programando sin barreras II#

Condicionales#

No te pierdas el vídeo de Condicionales & Ciclos.

Los condicionales sirven para especualar lo que pueda ocurrir, es decir, para representar una idea si algo llegase a pasar. En programación son muy útiles para poner condiciones de acuerdo al programa que nos gustaría realizar, es decir si algo llegase a pasar que se realice esto otro.

Para establecer una condición inicial se necesita de operadores lógicos, estos operadores permiten realizar diferentes comparaciones según la sentancia que deseemos ejecutar, las sentancias condicionales más comunes en python son:

  • If → significa si. Se usa para generar la condición principal.

  • Elif → significa si no. Se usa para generar otra condición en caso de que la condición principal o anterior no se cumpla.

  • Else → significa (sino). Se usa para generar un resultado emergente en caso de que las condiciones anteriores no se cumplan, la cual se ejecuta como alternativa sin condicional.

Operadores lógicos#

Operador

Descripción

Ejemplo

==

Comparación de igualdad

a==b

>

Comparación de mayor que

a>b

<

Comparación de menor que

a<b

!=

Comparación de diferencia

a!=b

&&

Conjunción copulativa (Y)

(a==b) .and. (c>d)

ww

Conjunción adversativa (O)

(a==b) .or. (c>d)

Resumen : Los condicionales son decisiones que se establecen de acuerdo a los parámetros que indiquemos para obtener un tipo de resultado deseado.
# Operador Lógico Igual
#El Resultado será False, ya que 5 no es igual a 6

a = 5
a == 6
False

If#

Para hacer una condición en python se usa el comando if acompañado de un operador lógico.

if condición:
  #acción si la condición se cumple

Colaboratory logo


La condición se evalúa siempre.

  • Si el resultado es True se ejecuta el bloque de sentencias

  • Si el resultado es False no se ejecuta el bloque de sentencias.

La primera línea contiene la condición a evaluar y es una expresión lógica. Esta línea debe terminar siempre por dos puntos (:).

El espacio o la indexación que tiene es necesaria para que al ejecutar el programa se reconozca que esa línea pertenece a la condición if. Para terminar un bloque, basta con volver al principio de la línea.
#ejemplo
if 5>4:
  print("5>4")
5>4
# ¿Qué pasa si cambias los valores de a y b?
a=5
b=8

#Vamos no seas timido intenta modificar el operador lógico por cualquiera de la tabla
# y la acción que deseas que realice
if a>b:
  print(a," es mayor que ",b)

Elif#

El comando elif en python también va acompañado de un operador lógico pero a diferencia de comando if no puede existir solo, es decir el elif se usa como una segunda, tercera, cuartar, …condición pero nunca se podrá poner como primera condición, por ende siempre habrá un if antes de él.

if condicion 1:
  #acción si la condición se cumple
elif condicion 2:
  #acción si la condición se cumple
  • Si se cumple la condición 1, se ejecuta el bloque 1

  • Si no se cumple la condición 1 pero sí que se cumple la condición 2, se ejecuta el bloque 2

Colaboratory logo


El elif se usa para controlar si la condición del if no se llega a cumplir pase por una condición más. Se pueden escribir tantos bloques elif como sean necesarios.
#Ejemplo

if 4>5:
  print("4 > 5")
elif 5>4:
  print("5 > 4")
  
5 > 4
# Este es un ejemplo practico
a=5
b=8

if a>b:
  print(a," es mayor que ",b)
elif b>a:
  print("Entonces ",b," es mayor que ",a)
Entonces  8  es mayor que  5

Else#

A diferencia de los otros comandos, el comando else no necesita operador lógico ni una comparación para funcionar, solo es necesario que antes de el se haya ejecutado una sentencia if.

if condición:
  #acción si la condición se cumple
else:
  #la acción si no se cumple el if

Colaboratory logo


El else también se puede ejecutar existiendo un elif solo ser cuidadosos de poner else de último.

if condicion 1:
  #acción si la condición se cumple
elif condicion 2:
  #la acción si no se cumple el if
else:
  #la acción si no se cumple el if y elif

El else se usa para controlar si la condición del if o elif no se llega a cumplir.

#Ejemplo
if 4>5:
  print("4 > 5")
else:
  print("4 no es mayor que 5")
  
4 no es mayor que 5
# Este es un ejemplo practico. Inteta cambiar los valores de a y b
a=10
b=5

if a>b:
  print(a," es mayor que ",b)
else:
  print(a," no es mayor que ",b)
10  es mayor que  5
# Ejemplo: Edades.

edad = 18 # Pon aqui tu edad

if edad < 17:
    print("Usted es menor de edad")
elif edad > 17:
    print(" Usted es mayor de edad")
else:
    print("Error")
 Usted es mayor de edad
Nota : El orden de las sentencias importa. Mira el siguiente ejemplo. ¿Por qué no se ejecuta la tercera condición?
x = 15

if x > 10:
    print(" x es mayor que 10!")
elif x < 10:
      print("x es menor que 10!")
elif x < 20 :
      print("x es menor que 20!")
else:
     print("x es igual a 10")
 x es mayor que 10!

1. Escriba un programa que acepte un número y si es par escriba el cuadrado del número pero si es impar escriba el cubo de número.

2. Escriba un programa acepte la opción de dos jugadoras en Piedra-Papel-Tijera y decida el resultado.

Entrada: person1=piedra; person2=papel
Salida: Gana persona2: El papel envuelve a la piedra

3. Escriba un programa que acepte 3 números y calcule el mínimo.

Entrada: 7, 4, 9
Salida: 4

4. Escriba un programa que acepte 3 números y los imprima en orden ascendente.


Ciclos#

Los ciclos en programación son de suma importancia ya que nos ayudan a realizar tareas repetitivas o tareas que no sepamos cuando terminarán. Hay dos tipos de ciclos for y while.

For#

El ciclo for tiene un criterio de inicio, de incremento y uno de parada. Si no se especifica el criterio incremento este aumentara unidad por unidad.

Con for es necesario inicializar una variable, lo común en programación es llamar a esta variable siempre i.

La estructura del for en python es la siguiente:

for i in range(10):
  print(i)

La variable i se inicializa, seguido de este se pone la palabra in la cual indicará donde queremos que nuestra variable i recorrá, es decir podemos recorrer una lista o lo que se nos ocurra, la palabra range nos crea un rango hasta el número anterior que se ponga en parantesis, en este caso hasta el 9, por ende la variable i va a recorrer todo el rango desde 0 hasta el 9.

#El ciclo parte desde el #0 hasta el #9
for i in range(10):
  print(i)
0
1
2
3
4
5
6
7
8
9
#Este ciclo for va desde el #1 hasta el #9 pero aumenta de dos en dos
for i in range(1,10,2):
  print(i)
1
3
5
7
9
#Este ciclo for recorre una lista
lenguajes=["Python","SQL","Javascript","Matlab"]
for i in lenguajes:
  print(i)
Python
SQL
Javascript
Matlab

While#

El ciclo while se ejecuta por medio de una condición, es decir podemos hacer uso de operadores lógicos para evaluar la condición, el ciclo while cumple con la siguiente estructura:

while x>y:
  print(x," es mayor que ",y)
  x=x-1

Supongamos que x y y son nuestras variables a comparar, en el caso que x sea myor que y este entrará en el bucle e imprimirá la siguiente línea, y le restará una unidad a x, y volverá hacer la comparación entre x y y, cuando x alcance un valor menor que y, la condición no se cumplirá saldrá de nuestro ciclo while.

x=10
y=5
while x>y:
  print(x," es mayor que ",y)
  x=x-1
print("Sale del ciclo")
10  es mayor que  5
9  es mayor que  5
8  es mayor que  5
7  es mayor que  5
6  es mayor que  5
Sale del ciclo
Nota: El comando break nos ayuda a parar un ciclo si una condición se cumple, es decir no tendrá obligatoriamente que recorrer todo el ciclo si no hasta que nosotros deseemos según la condición que le impongamos.
#Es ciclo hace la tabla del 9 hasta el valor 45
for i in range(10):
  print(9*i)
  if 9*i==45:
    break
0
9
18
27
36
45
#Este ciclo se realiza hasta que x se convierte en 7
x=10
y=5
while x>y:
  print(x," es mayor que ",y)
  x=x-1
  if x==7:
    break
print("Sale del ciclo")
10  es mayor que  5
9  es mayor que  5
8  es mayor que  5
Sale del ciclo

Serie de Fibonacci: Se trata de una secuencia infinita de números naturales; a partir del 0 y el 1, se van sumando a pares, de manera que cada número es igual a la suma de sus dos anteriores, de manera que:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55…

1. Mostrar los primeros 10 terminos de la serie de fibonacci, recordar que la formula para la serie es:

f(n)=f(n-1)+f(n-2)

2. ¿Cuántos números entre 1 y 100 son divisibles por 7?

3. Escriba un prgrama que chequee si un número es primo o no.

4. Usa Python para verificar la siguiente afirmación para algunos números individuales.

En 1937, un matemático alemán llamado Lothar Collatz formuló una hipótesis intrigante (aún no se ha comprobado) que se puede describir de la siguiente manera:
  1. toma cualquier número entero que no sea negativo y que no sea cero y asígnale el nombre c0;

  2. si es par, evalúa un nuevo c0 como c0 ÷ 2;

  3. de lo contrario, si es impar, evalúe un nuevo c0 como 3 × c0 + 1 ;

  4. si c0 1 , salta al punto 2.

La hipótesis dice que, independientemente del valor inicial de c0 , el valor siempre tiende a 1.