[Link](05)Esp.
dot
EJERCICIOS DE INTRODUCCIÓN A PYTHON
PARTE IV
DOCUMENTO2
PYTHON: EJERCICIOS DE CONTROL DE FLUJO Y FUNCIONES
INTRODUCCIÓN
El propósito de esta práctica es afianzar los conocimientos que habéis adquirido
durante la asignatura: “Introducción a Python”.
Este ejercicio es auto corregible. Para ver el archivo adjunto que contiene la solu-
ción propuesta por los docentes, únicamente deberás marcar la sección dónde
se encuentra el ejercicio como finalizado.
Al pulsar sobre la opción:
Imagen que muestra el botón que permite marcar una sección para terminar en el campus
Se actualizará la sección y te aparecerá no sólo el archivo con el enunciado si no
también el archivo con la solución. Ejemplo:
Imagen que muestra cómo se mostraría la solución
3
PYTHON: EJERCICIOS DE CONTROL DE FLUJO Y FUNCIONES
Instrucciones para realizar los ejercicios
Intenta no ayudarte del temario para la realización de estos ejercicios. Si final-
mente necesitas repasarlo para terminarlos te recomiendo que los repitas cada
día hasta que ya no te haga falta utilizarlo. Así interiorizarás las bases de Python,
así como su sintaxis.
Si tuvieses problemas para realizarlos incluso con la ayuda del temario no dudes
en ponerte en contacto con los docentes del curso a través la mensajería del
campus.
Desde el equipo docente te recomendamos que para la realización de esta prác-
tica crees una carpeta en una ubicación determinada de tu ordenador. En ella
deberás crear un archivo con la extensión .py (archivo de Python) o .ipynb (archivo
de Jupyter Notebook) para cada ejercicio propuesto en este enunciado. Puedes
hacer uso del programa que te resulte más cómodo.
4
PYTHON: EJERCICIOS DE CONTROL DE FLUJO Y FUNCIONES
Ejercicio 1_ Crea un programa que:
n Defina una función que reciba tres números enteros como parámetros y los
muestre por pantalla.
n Solicite al usuario que introduzca tres números enteros
n Ejecute la función definida anteriormente pasándole como parámetro los
tres números recibidos del usuario.
Nota: En la carpeta de soluciones se adjunta una solución adicional llamada “Mejorado” con
varias mejoras. Esta solución puede implementar funciones adicionales en el código.
Ejercicio 2_ Crea un programa que:
n Defina una función que permita calcular la suma de los valores de una lista
de números que deberá recibir como parámetro. La función deberá mos-
trar el resultado por pantalla.
n Declare una lista de números enteros (pueden ser aleatorios)
n Ejecute la función definida anteriormente pasándole como parámetro la
lista de números enteros creada.
Nota: En la carpeta de soluciones se adjunta una solución adicional llamada “Mejorado” con
varias mejoras. Esta solución puede implementar funciones adicionales en el código.
Ejercicio [Link] _ Crea un programa que:
n Defina una función que permita calcular la suma de los valores de una lista
de números que deberá recibir como parámetro. La función deberá devol-
ver el resultado.
n Declare una lista de números enteros (pueden ser aleatorios).
n Declare una variable dónde asociar el resultado de la ejecución de la fun-
ción definida anteriormente. Luego se deberá mostrar el valor de dicha va-
riable por pantalla.
5
PYTHON: EJERCICIOS DE CONTROL DE FLUJO Y FUNCIONES
Ejercicio 3 _ Crea un programa que:
n Defina una función que reciba una lista de números enteros como paráme-
tro y compruebe qué números de la lista son pares y los muestre por panta-
lla.
n Declare una lista de números enteros (pueden ser aleatorios)
n Ejecute la función previamente definida pasándole como parámetro la lista
de números enteros que se ha declarado.
Nota: En la carpeta de soluciones se adjunta una solución adicional llamada “Mejorado” con
varias mejoras. Esta solución puede implementar funciones adicionales en el código.
Ejercicio [Link] _ Crea un programa que:
n Defina una función que reciba una lista de números enteros como paráme-
tro y compruebe qué números de la lista son pares, introduciéndolos en
una nueva lista que se devolverá como resultado de la función.
n Declare una lista de números enteros (pueden ser aleatorios)
n Declares una variable dónde asociar el resultado de la ejecución de la fun-
ción definida anteriormente. Luego se deberá mostrar el valor de dicha va-
riable por pantalla.
Ejercicio 4 _ Crea un programa que:
n Defina una función que realice la suma de todos los números comprendi-
dos entre 0 y 10 (ambos inclusive) y devuelva la suma como resultado de la
función.
n Declare una variable dónde asociar el resultado de la ejecución de la fun-
ción definida anteriormente. Tras ello, se deberá mostrar el resultado por
pantalla.
Nota: En la carpeta de soluciones se adjunta una solución adicional llamada “Mejorado” con
varias mejoras. Esta solución puede implementar funciones adicionales en el código.
6
PYTHON: EJERCICIOS DE CONTROL DE FLUJO Y FUNCIONES
Ejercicio 5 _ Crea un programa que:
n Defina una función que se encargue de realizar una pregunta sencilla al
usuario y evaluar su respuesta.
Si la respuesta proporcionada por el usuario es afirmativa (Si o similar) la
función deberá mostrar un mensaje por pantalla.
Si la respuesta proporcionada por el usuario es negativa (No o similar) la
función deberá mostrar un mensaje diferente por pantalla.
Si la respuesta proporcionada por el usuario es diferente a la esperada (no
es ni positiva ni negativa) entonces se le deberá mostrar un mensaje de
error indicando que no se ha comprendido su respuesta y se deberá volver
a repetir el código interno de la función, de forma que se vuelva a realizar la
pregunta y solicitar una respuesta.
n Ejecute la función previamente definida.
Nota: En la carpeta de soluciones se adjunta una solución adicional llamada “Mejorado” con
varias mejoras. Esta solución puede implementar funciones adicionales en el código.
7
PYTHON: EJERCICIOS DE CONTROL DE FLUJO Y FUNCIONES
Ejercicio [Link] _ Crea un programa que:
n Consulte con el usuario cuantas preguntas y acciones desea registrar, compro-
bando que la cantidad introducida por el usuario sea válida.
n Consulte con el usuario qué preguntas y acciones desea registrar. La cantidad
de preguntas/acciones a registrar deberá coincidir con la cantidad solicitada en
el paso anterior.
n Consulte tras introducir cada pregunta/acción si es correcta o desea modificarla.
En caso de que lo sea se continuará con el siguiente apartado y en caso de que
no, se le redirigirá al paso anterior.
n Registre cada pregunta/acción validada en el paso anterior dentro de un mismo
diccionario.
Tras los pasos anteriores, el programa deberá:
n Informar de la cantidad de preguntas registradas en el diccionario y preguntar
si desea responder alguna de ellas. Si solo hubiese una única pregunta, el men-
saje le indicará si desea responder la pregunta existente. En caso de que haya
varias le tendrá que preguntar cuántas desea responder. En esta última situa-
ción el programa deberá elegir preguntas aleatorias del diccionario en función
de la cantidad indicada por el usuario.
n El programa deberá comprobar que la cantidad de preguntas que desea res-
ponder el usuario sea válida y en caso contrario volver a preguntarle.
n El programa deberá plantear las preguntas al usuario y en función de su res-
puesta enviarle un mensaje acorde, de la misma forma que se indicó en el ejer-
cicio 5.
Ejemplo de funcionamiento:
Programa: ¿Cuántas preguntas desea registrar?
Usuario: 1
Programa: Introduzca la pregunta que desea registrar
Usuario: ¿Desea apagar el equipo?
Programa: Introduzca la acción asociada a la pregunta registrada
Usuario: “apagado del equipo”
Programa: La información proporcionada es …. ¿Es correcta? Responda SI o NO
Usuario: SI
Programa: Se ha registrado su pregunta
Programa: Hay una pregunta registrada ¿Desea responderla? Responda SI o NO
Usuario: SI
Programa: ¿Desea apagar el equipo?
Usuario: NO
Programa: Respuesta aceptada. No se procederá con "apagado del equipo".
8
PYTHON: EJERCICIOS DE CONTROL DE FLUJO Y FUNCIONES
Ejercicio 6 _ Crea un programa que:
n Defina una función que reciba como parámetro una lista o una tupla de nú-
meros enteros. La función deberá comprobar cuantos números de la lista
tienen un valor inferior a 10.
n Defina una tupla o lista de números enteros.
n Ejecute la función pasándole la lista definida como parámetro y mostrando
el resultado por pantalla.
Nota: En la carpeta de soluciones se adjunta una solución adicional llamada “Mejorado” con
varias mejoras. Esta solución puede implementar funciones adicionales en el código.
Ejercicio [Link] _ Crea un programa que:
n Defina una función que devuelva como resultado una lista de 20 números
enteros aleatorios entre 0 y 100 (ambos inclusive).
n Defina una función que reciba como parámetro una lista de números. La
función deberá registrar cuantos números inferiores a 10 (sin repetir) hay
en la lista y cuáles son. La función deberá devolver estos dos datos como re-
sultado.
n Defina una variable dónde asociar la lista de números aleatoria resultado de
la ejecución de la primera función.
n Defina dos variables dónde asociar los resultados de la ejecución de la se-
gunda función.
n Muestre por pantalla el resultado obtenido.
Ejemplo de funcionamiento:
Lista de números: 3, 30, 3, 3, 43, 35, 94, 94, 75, 50, 21, 10, 50, 58, 80, 84, 2, 2, 2, 3
Resultado: Existen un total de 2 números únicos en la lista inferiores a 10, que
son: [2, 3]
Nota: En la carpeta de soluciones se adjunta una solución adicional llamada “Alternativa2” que
se encarga de mostrar los valores repetidos y no los únicos como en el ejercicio llamado “Alter-
nativo”
9
PYTHON: EJERCICIOS DE CONTROL DE FLUJO Y FUNCIONES
Ejercicio 7 _ Crea un programa que:
n Defina una función que te permita calcular el sueldo semanal de un trabaja-
dor y mostrarlo por pantalla. La función deberá recibir como parámetros: el
número de horas trabajadas y el importe que gana el trabajador por cada
hora trabajada.
Sabiendo que:
o La jornada normal (semanal) se considera de 35h.
o Las horas extras trabajadas se pagan 10€ más que la hora normal.
n Solicite al usuario la cantidad de horas que ha trabajado esa semana y el
precio al que le pagan la hora normal.
n Ejecute la función pasándole los valores necesarios como parámetros.
Nota: En la carpeta de soluciones se adjunta una solución adicional llamada “Mejorado” con
varias mejoras. Esta solución puede implementar funciones adicionales en el código.
10
PYTHON: EJERCICIOS DE CONTROL DE FLUJO Y FUNCIONES
Ejercicio 8 _ Crea un programa que permita calcular un presupuesto de viaje,
sabiendo que:
n Los destinos disponibles para calcular el presupuesto serán:
Alicante, Barcelona y Sevilla
n El coste del viaje a Alicante será de 250€, a Barcelona de 450€ y a Sevilla de
400€
n El precio de la noche de hotel será de 140€ independientemente del des-
tino.
n El precio del alquiler de los vehículos en la ciudad destino será de 35€/día,
independientemente del destino. Si el cliente desea reservar el vehículo un
mínimo de 3 días se le aplicará un descuento al precio total del alquiler del
5%. Si lo reserva un mínimo de 7 días el descuento sobre el precio total del
alquiler del vehículo será del 20%.
Para la realización de este ejercicio deberás consultar con el usuario a qué des-
tino desea viajar, cuantas noches se alojará en un hotel (si quiere alojarse en uno)
y cuantos días alquilará un vehículo (si desea alquilar alguno).
Deberás intentar realizar este ejercicio aplicando todos los conocimientos que
has aprendido hasta el momento. Se recomienda que crees como mínimo una
función independiente para:
n Calcular el coste del viaje a la ciudad destino
n Calcular el coste del hotel
n Calcular el coste del alquiler del vehículo
n Calcular el coste total del viaje. Esta función además deberá mostrar por
pantalla el resultado obtenido.
Nota: En la carpeta de soluciones se adjunta una solución adicional llamada “Mejorado” con
varias mejoras. Esta solución puede implementar funciones adicionales en el código.
11
PYTHON: EJERCICIOS DE CONTROL DE FLUJO Y FUNCIONES
Ejercicio Extra _ Crea un programa que:
n Defina una función que reciba dos números enteros como parámetros y cal-
cule cuál de los dos es mayor, devolviendo el dato como resultado de la fun-
ción.
n Defina una función que reciba tres números enteros como parámetros y
calcule cuál de los tres es mayor, haciendo uso de la función definida previa-
mente.
n Solicite al usuario que introduzca tres números enteros
n Ejecute la segunda función que se ha definido anteriormente y se le facilite
como parámetro los tres números recibidos del usuario.
Nota: En la carpeta de soluciones se adjunta una solución adicional llamada “Mejorado” con
varias mejoras. Esta solución puede implementar funciones adicionales en el código.
12