Taller de verano: Introducción a Python - Parte 2

Funciones y estructuras de control en Python

Python Logo

1. Condicionales if, elif y else


Las estructuras de control de flujo condicionales, permiten ejecutar bloques de código específicos según el valor de algunos datos. Se definen mediante el uso de tres palabras claves reservadas, del lenguaje: if (si), elif (sino, si) y else (sino).

if test expression:
    Body of if
elif test expression:
    Body of elif
else: 
    Body of else

Si la condición que sigue a la palabra clave if se evalúa como verdadera , el bloque de código se ejecutará. Opcionalmente, puedes agregar una respuesta else la cual se ejecutará si la condición es false. Sin embargo, si se desea evaluar múltiples condiciones se usara la sentencia elif.

Ejemplo:

Tomemos un ejemplo de cómo encontrar un número que sea par y también mayor que 10

'''En este programa, vamos a mirar si dado un numero 
es positivo, negativo o cero, con su respectivo mensaje '''

num = 3.4

if num > 0:
    print("Numero positivo")
elif num == 0:
    print("Cero")
else:
    print("Numero negativo")
Numero positivo

Ejercicio 1

Escribir un programa que almacene la cadena de caracteres contraseña en una variable, pregunte al usuario por la contraseña e imprima por pantalla si la contraseña introducida por el usuario coincide con la guardada en la variable sin tener en cuenta mayúsculas y minúsculas.

  • La clave debe estar en minuscula

## 2. Bucle for

La estructura repetitiva For es aquella en la que el número de iteraciones se conoce por anticipado, y por ello no se precisa poner ninguna condición de salida para detener el bucle. En su lugar un contador cuenta el número de iteraciones fijas y se termina cuando llega al valor final previamente definido.

Sintaxis:

for <elem> in <iterable>:
    <Código>

Aquí, elem es la variable que toma el valor del elemento dentro del iterador en cada paso del bucle. Este finaliza su ejecución cuando se recorren todos los elementos. Es frecuente usar el bucle for para iterar sobre los elementos de listas, tuplas o diccionarios.

Función range

Para recorrer un conjunto de código un número específico de veces, podemos usar la función range(n), la cual devuelve una secuencia de números, comenzando desde 0 de forma predeterminada, se incrementa en 1 (de forma predeterminada) y termina cuando llega a n - 1.

for x in range(6):
  print(x)
0
1
2
3
4
5

La función range(n) por defecto toma 0 como valor inicial, sin embargo, es posible especificar el valor inicial agregando un parámetro: range(2, 6) , lo que significa que toma valores del 2 al 6 (pero sin incluir el 6)

for x in range(2, 6):
  print(x)
2
3
4
5

La función range(n) por defecto incrementa la secuencia en 1, sin embargo, agregando un tercer parámetro se puede especificar el valor del incremento: range(2, 30, 3 )

for x in range(1, 15, 3):
  print(x)
1
4
7
10
13

Con for también puedo recorrer una cadena de caracteres:

texto="Isabella"
for i in texto:
    print(i)
    #print(i,end="")
I
s
a
b
e
l
l
a

3. Bucle While


El ciclo while en Python se usa para iterar sobre un bloque de código siempre que la expresión de prueba (condición) sea verdadera. Generalmente usamos este ciclo cuando no sabemos la cantidad de veces que necesitamos iterar una sentencia.

Sintaxis:

while test_expression:
    Body of while

En el bucle while, primero se comprueba la expresión de prueba. El cuerpo del ciclo se ingresa solo si test_expression se evalúa como True. Después de una iteración, la expresión de prueba se verifica nuevamente. Este proceso continúa hasta que test_expression se evalue como False.

x = 5
while x > 0:
    x -=1
    print(x)
4
3
2
1
0

Ejercicio 2

Una empresa de ropa de la ciudad de Cali, va a lanzar una promoción sobre sus productos de la siguiente manera:

Si el cliente compra menos de 5 productos, y si estos productos tienen un valor total menor a 100.000 COP, entonces se realizará un descuento del 10%. Si la compra es por un valor mayor o igual a 100.000 COP, el descuento es del 15% Si el cliente compra entre 5 a 10 productos, y el valor total de estos es mayor a 500.000 COP entonces se realizará un descuento del 20%, de lo contrario el descuento es del 18%. Si el cliente compra más de 10 productos y el valor total de la compra es menor a 1.000.000, el descuento será del 30%, en caso contrario el descuento es del 40%.

Escriba un programa en Python que permita calcular el valor total a pagar del cliente teniendo en cuenta las condiciones dadas anteriormente,.

Ejercicio 3

Escribir un programa en el que se pregunte al usuario por una frase y una letra, y muestre por pantalla el número de veces que aparece la letra en la frase.

Ejercicio 4

Realice un programa que permita resolver la siguiente sumatoria:

$ _{i=1}{n}(n3+n^2+3) $

## 3. Funciones

Las funciones son bloques de código que se pueden reutilizar simplemente llamando a la función.

def identificador(param1, param2,..):
    inst1
    inst2
    .
    .
    return valor

Para definir una función en Python se utiliza la palabra reservada def. A continuación viene el nombre o identificador de la función que es el que se utiliza para invocarla dentro del código. Después del nombre hay que incluir los paréntesis y una lista opcional de parámetros. Por último, la definición de la función termina con dos puntos.

Tras los dos puntos se incluye el cuerpo de la función, en donde se encuentra el conjunto de instrucciones que se encapsulan en dicha función y finalmente, de manera opcional, se añade la instrucción con la palabra reservada return para devolver un resultado.

def new_function():
  print("Hola, estoy en la función")

new_function()
Hola, estoy en la función

Las funciones permiten la reutilización de código es decir, que se evita escribir nuevamente secciones de código. Esto hace que el código sea más legible, facilita la depuración y limita los errores de escritura.

def func_name(nombre):
  print(" Hola,", nombre)

# Importante tener en cuenta la cantidad de argumentos que la función recibira

func_name("Camilo")
func_name("Juan")
func_name("Maria")
 Hola, Camilo
 Hola, Juan
 Hola, Maria

Ejercicio 5

Realice un programa que pida n cantidad de numeros y por medio de un mensaje, muestre si el numero es par o no.

Referencias:

https://www.w3schools.com/PYTHON/