Curso de Python – 4. Estructuras de control de flujo


Tomar decisiones, dar inteligencia a los datos para que se realicen acciones automáticamente, como subir la temperatura si hace frío o bajarla si hace calor, o escribir un millón de veces una frase con solo dos líneas.

Este artículo forma parte del curso completo de Python

Teoría

4.1- If – Sentencia Condicional

Quiero un helado ¿Qué camino he de tomar? ¿El que lleva a la heladería o a todo lo demás? Es una decisión sencilla pero hay que tomar la decisión correctamente, hay que pensarla por poco que sea; de lo contrario, acabaremos en cualquier otro sitio que no es nuestro objetivo.

4.2- If – Sentencia Condicional – Alcance

El alcance del código limitará las líneas de código que se ejecutarán si se toma un camino u otro. Dependerá del cuerpo en ejecución.

4.3- Ejemplo – If – Sentencia Condicional

Ejemplo rápido de una sentencia condicional con código real y funcional.

4.4- Bucle For

Escribir una vez, y otra vez lo mismo, y una vez más exactamente lo mismo ¿Porqué repetir el código si se puede auto-repetir a sí mismo tantas veces como queramos?

4.5- Bucle For – Alcance básico de cuerpos

El código que se repetirá dentro de un bucle for y el código que NO se repetirá.

4.6- Ejemplo – Bucle For – Alcance básico de cuerpos

Ejemplo con código de un bucle for para distinguir claramente su alcance.

4.7- Bucle For – Control del Bucle

Un bucle for se puede ejecutar un millón de veces, pero ¿Y si queremos terminarlo antes? ¿Esperamos a que termine el millón de ejecuciones? ¿O lo controlamos para que hagas termine en el momento que queramos?

4.8- Bucle For – Alcance de varios cuerpos

El alcance de un cuerpo puede estar dentro de otro cuerpo que a su vez tiene su propio alcance.

4.9- Ejemplo – Bucle For – Alcance de varios cuerpos

Un ejemplo de como se utilizan varios bucles for y como afecta a cada uno de los cuerpos.

4.10- While – Bucle Condicional

Un bucle for se puede controlar con break y finally, pero no es elegante ¿No sería ideal tener lo mejor del bucle for y de la condicional if en una sola estructura? Pues se llama bucle While.

4.11- While – Alcance del Bucle Condicional

Al ser el bucle while una mezcla entre el bucle for y la condicional if, está sujeta a que el alcance varíe ligeramente.

4.12- Ejemplo – While

Ejemplo de uso del bucle While.

Ejercicios

Ejercicio 4.1-pan_y_chocolate.py

Crea un programa que pregunte por teclado (pista: input) si hay “chocolate” primero y si hay “harina” después (pista: bool(“Cualquier valor”) es True o bool(“”) es False).

Si ambos son ciertos imprimiremos “Cocinamos una tarta”

Si solo es cierto “chocolate” imprimiremos “Haremos bombones”

Si solo es cierto “harina’ imprimiremos “Hornearemos pan”

Si ninguna es cierta imprimiremos “Hoy descanso”

Ejercicio 4.2-tablas_de_la_verdad.py

Crea un programa que cree las tablas de la verdad AND y OR.

Para ello utiliza dos variables «a» y «b» que se vayan actualizando en cada iteración de un bucle «while» y que termine después de que «a» y «b» sean False (pista: empieza programando la tabla del AND; y continúa con la tabla del OR ayudándote de una variable auxiliar «ultima_iteracion»).

E imprima cada resultado de la iteración con un formato legible como (no hace falta que los espacios estén perfectos, aunque puede ayudar tabular \t):

Ejercicio 4.3-base_de_datos_banco.py

Trabajamos para un banco y tenemos que crear una base de datos para guardar dinero de nuestros usuarios. El programa nos preguntará eternamente (pista: while true) por el nombre del usuario (clave) y luego un dinero positivo o negativo (un valor numérico; valor). En caso de que el usuario ya exista habrá que sumar al dinero que hubiera el nuevo dinero introducido, sino existiera simplemente lo guardaríamos.

Podremos imprimir el diccionario en cada iteración para saber que hemos introducido y qué se ha actualizado.

Ejercicio 4.4.-diccionario_seleccion_futbol.py

Dado el siguiente listado que representan a los jugadores de la selección Española de fútbol que jugo el mundial del 2010:

futbolistas = ["1 - Casillas", "15 - Ramos", "3 - Pique", "5 - Puyol",
               "11 - Capdevila", "14 - Xabi Alonso", "16 - Busquets",
               "8 - Xavi Hernandez", "18 - Pedrito", "6 - Iniesta",
               "7 - Villa"]

Se pide:

  1. Recorriendo una sola vez el listado, añadir a otro listado llamado “pares” los jugadores cuya clave sea par
    (clave: dorsal, valor: nombre) y en una lista llamada “impares” los nombres de los jugadores cuya clave sea impar.
  2. Orden por orden alfabético la lista “impares”.
  3. Dado el listado “pares”, crear otro listado “pares_al_reves” que tenga como clave el nombre del jugador y
    como valor el dorsal del jugador.
Comparte esta entrada en:
Safe Creative #1401310112503
Curso de Python – 4. Estructuras de control de flujo por "www.jarroba.com" esta bajo una licencia Creative Commons
Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License.
Creado a partir de la obra en www.jarroba.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies