Aprende con Alf
Buscar...
Ejercicios de Funciones
Ejercicio 1
Escribir una función que muestre por pantalla el saludo ¡Hola amiga! cada vez que se la invoque.
Ejercicio 2
Escribir una función a la que se le pase una cadena <nombre> y muestre por pantalla el saludo ¡hola
<nombre>!.
Ejercicio 3
Escribir una función que reciba un número entero positivo y devuelva su factorial.
Ejercicio 4
Escribir una función que calcule el total de una factura tras aplicarle el IVA. La función debe recibir la
cantidad sin IVA y el porcentaje de IVA a aplicar, y devolver el total de la factura. Si se invoca la función
sin pasarle el porcentaje de IVA, deberá aplicar un 21%.
Ejercicio 5
Escribir una función que calcule el área de un círculo y otra que calcule el volumen de un cilindro usando
la primera función.
Ejercicio 6
Escribir una función que reciba una muestra de números en una lista y devuelva su media.
Ejercicio 7
Escribir una función que reciba una muestra de números en una lista y devuelva otra lista con sus
cuadrados.
Ejercicio 8
Escribir una función que reciba una muestra de números en una lista y devuelva un diccionario con su
media, varianza y desviación típica.
Ejercicio 9
Escribir una función que calcule el máximo común divisor de dos números y otra que calcule el mínimo
común múltiplo.
Ejercicio 10
Escribir una función que convierta un número decimal en binario y otra que convierta un número
binario en decimal.
Ejercicio 11
Escribir un programa que reciba una cadena de caracteres y devuelva un diccionario con cada palabra
que contiene y su frecuencia. Escribir otra función que reciba el diccionario generado con la función
anterior y devuelva una tupla con la palabra más repetida y su frecuencia.
Índice de Python Principio de la página
Estos ejercicios corresponden a lo explicado en la lección sobre funciones: funciones (1) y funciones (2).
Se pueden consultar las soluciones.
¡Atención!En principio, cualquier ejercicio se puede convertir en un ejercicio de funciones. Es decir, en
cualquier programa se puede elegir una porción del programa e incluirla en una función. La tarea del
programador consiste en crear las funciones adecuadas para que esas funciones se puedan utilizar
varias veces en el mismo programa o en programas distintos.
En los ejercicios siguientes se recurre a ejercicios ya realizados a lo largo del curso para realizar
programas más complejos. Cada ejercicio tiene dos partes:
En la primera parte se pide volver a resolver un ejercicio de alguno de los temas anteriores, de manera
que el nuevo programa incluya una o más funciones que realicen la tarea. Se incluye una solución del
ejercicio original para trabajar a partir de ella.
En la segunda parte se pide un nuevo ejercicio. Para resolver este nuevo ejercicio, se pueden reutilizar o
modificar las funciones creadas en la primera parte.
Funciones (2) - 1
Funciones (2) - 1-1
Resuelva de nuevo el ejercicio "Bucle for (2) - 5" de manera que el dibujo lo realice una función que
reciba dos parámetros (alto y ancho).
El enunciado del ejercicio era:
Escriba un programa que pida la anchura y altura de un rectángulo y lo dibuje con caracteres producto
(*):
Anchura del rectángulo: 5
Altura del rectángulo: 3
*****
*****
*****
La solución propuesta de este ejercicio era:
anchura = int(input("Anchura del rectángulo: "))
altura = int(input("Altura del rectángulo: "))
for i in range(altura):
for j in range(anchura):
print("* ", end="")
print()
Funciones (2) - 1-2
Escriba un programa que pida la anchura y altura de un rectángulo y el caracter a utilizar en el dibujo:
Anchura del rectángulo: 5
Altura del rectángulo: 3
Carácter a utilizar: o
ooooo
ooooo
ooooo
Nota: El carácter a utilizar en el dibujo se puede enviar a la función como tercer parámetro.
Funciones (2) - 2
Funciones (2) - 2-1
Resuelva de nuevo el ejercicio "Bucle for (2) - 14" de manera que el dibujo lo realicen dos funciones que
reciban un parámetro (ancho), una que dibuje la primera mitad del triángulo y la otra que dibuje la
segunda mitad.
El enunciado del ejercicio era:
Escriba un programa que pida la anchura de un triángulo y lo dibuje con caracteres producto (*):
Anchura del triángulo: 4
**
***
****
***
**
La solución propuesta de este ejercicio era:
anchura = int(input("Anchura del triángulo: "))
for i in range(1, anchura + 1):
for j in range(i):
print("* ", end="")
print()
for i in range(1, anchura):
for j in range(anchura - i):
print("* ", end="")
print()
Funciones (2) - 2-2
Escriba un programa que pida la anchura de un triángulo y dibuje una sucesión de triángulos con
caracteres producto (*):
Anchura del triángulo: 3
**
***
**
**
Funciones (2) - 3
Funciones (2) - 3-1
Resuelva de nuevo el ejercicio "if ... elif ... else ... 6" de manera que el cálculo lo realice una función que
reciba un parámetro (el año) y devuelva True o False según que el año sea o no bisiesto.
El enunciado del ejercicio era:
Escriba un programa que pida un año y que escriba si es bisiesto o no.
Se recuerda que los años bisiestos son múltiplos de 4, pero los múltiplos de 100 no lo son, aunque los
múltiplos de 400 sí.
Estos son algunos ejemplos de posibles respuestas: 2012 es bisiesto, 2010 no es bisiesto, 2000 es
bisiesto, 1900 no es bisiesto.
COMPROBADOR DE AÑOS BISIESTOS
Escriba un año y le diré si es bisiesto: 2000
El año 2000 es un año bisiesto.
Nota: El enunciado original pedía que el programa escribiera la razón por el que el año era o no bisiesto,
pero aquí se ha simplificado el ejercicio omitiendo esa explicación.
La solución propuesta de este ejercicio era:
print("COMPROBADOR DE AÑOS BISIESTOS")
fecha = int(input("Escriba un año y le diré si es bisiesto: "))
if fecha % 400 == 0 or (fecha % 100 != 0 and fecha % 4 == 0):
print(f"El año {fecha} es un año bisiesto.")
else:
print(f"El año {fecha} no es un año bisiesto.")
Funciones (2) - 3-2
Escriba un programa que pida dos años y escriba cuántos años bisiestos hay entre esas dos fechas
(incluidos los dos años):
CONTADOR DE AÑOS BISIESTOS
Escriba un año: 2000
Escriba otro año posterior a 2000: 1999
1999 no es mayor que 2000. Inténtelo de nuevo: 2013
De 2000 a 2013 hay 14 años, 4 de ellos bisiestos.
Funciones (2) - 4
Funciones (2) - 4-1
Resuelva de nuevo el ejercicio "Listas (1) - 1" de manera que la lista sea solicitada por una función (que
no necesita parámetros).
El enunciado del ejercicio era:
Escriba un programa que permita crear una lista de palabras (que puede ser vacía). Para ello, el
programa tiene que pedir un número y luego solicitar ese número de palabras para crear la lista. Por
último, el programa tiene que escribir la lista.
Dígame cuántas palabras tiene la lista: 3
Dígame la palabra 1: Alberto
Dígame la palabra 2: Benito
Dígame la palabra 3: Carmen
La lista creada es: ['Alberto', 'Benito', 'Carmen']
La solución propuesta de este ejercicio era:
numero = int(input("Dígame cuántas palabras tiene la lista: "))
if numero < 1:
print("¡Imposible!")
else:
lista = []
for i in range(numero):
palabra = input(f"Dígame la palabra {i + 1}: ")
lista += [palabra]
print(f"La lista creada es: {lista}")
Nota: En el enunciado original, la lista no podía ser vacía, pero en este ejercicio se permite que la lista
tenga 0 elementos. En caso de que el usuario escriba un número negativo, el programa puede avisar al
usuario o simplemente crear una lista vacía.
Funciones (2) - 4-2
Escriba un programa que pida cuántas listas se quieren crear y las solicite a continuación:
Generador de listas
¿Cuántas listas quiere escribir? 2
Dígame cuántas palabras tiene la lista 1: 3
Dígame la palabra 1: Ana
Dígame la palabra 2: Bárbara
Dígame la palabra 3: Carmen
La lista 1 es: ['Ana', 'Bárbara', 'Carmen']
Dígame cuántas palabras tiene la lista 2: 2
Dígame la palabra 1: Alberto
Dígame la palabra 2: Bernardo
La lista 2 es: ['Alberto', 'Bernardo']
Nota: Se puede añadir un parámetro a la función que crea la lista, el número de lista.
Funciones (2) - 4-3
Modifique el programa anterior de manera que las listas se escriban al final del programa:
Generador de listas
¿Cuántas listas quiere escribir? 2
Dígame cuántas palabras tiene la lista 1: 3
Dígame la palabra 1: Ana
Dígame la palabra 2: Bárbara
Dígame la palabra 3: Carmen
Dígame cuántas palabras tiene la lista 2: 2
Dígame la palabra 1: Alberto
Dígame la palabra 2: Bernardo
La lista 1 es: ['Ana', 'Bárbara', 'Carmen']
La lista 2 es: ['Alberto', 'Bernardo']
Nota: Se puede crear una lista de listas en la que se vayan introduciendo las listas a medida que se
generan
Funciones (2) - 5
Funciones (2) - 5-1
Resuelva de nuevo el ejercicio "Listas (1) - 5" de manera que las listas sean solicitada por una función
(que no necesita parámetros) y que las palabras sean eliminadas por una función (con dos parámetros,
las dos listas).
El enunciado del ejercicio era:
Escriba un programa que permita crear dos listas de palabras y que, a continuación, elimine de la
primera lista los nombres de la segunda lista.
Dígame cuántas palabras tiene la lista: 5
Dígame la palabra 1: Carmen
Dígame la palabra 2: Carmen
Dígame la palabra 3: Alberto
Dígame la palabra 4: Benito
Dígame la palabra 5: David
La lista creada es: ['Carmen', 'Carmen', 'Alberto', 'Benito', 'David']
Dígame cuántas palabras tiene la lista de palabras a eliminar: 3
Dígame la palabra 1: Benito
Dígame la palabra 2: Juan
Dígame la palabra 3: Carmen
La lista de palabras a eliminar es: ['Benito', 'Juan', 'Carmen']
La lista es ahora: ['Alberto', 'David']
La solución propuesta de este ejercicio era:
numero = int(input("Dígame cuántas palabras tiene la lista: "))
if numero < 1:
print("¡Imposible!")
else:
lista = []
for i in range(numero):
palabra = input(f"Dígame la palabra {i + 1}: ")
lista += [palabra]
print(f"La lista creada es: {lista}")
numero2 = int(input("Dígame cuántas palabras tiene la lista de palabras a eliminar: "))
if numero2 < 1:
print("¡Imposible!")
else:
eliminar = []
for i in range(numero2):
palabra = input(f"Dígame la palabra {i + 1}: ")
eliminar += [palabra]
print(f"La lista de palabras a eliminar es: {eliminar}")
for i in eliminar:
for j in range(len(lista)-1, -1, -1):
if lista[j] == i:
del lista[j]
print(f"La lista es ahora: {lista}")
Nota: En el enunciado original, la lista no podía ser vacía, pero en este ejercicio se permite que la lista
tenga 0 elementos. En caso de que el usuario escriba un número negativo, el programa puede avisar al
usuario o simplemente crear una lista vacía.
Funciones (2) - 5-2
Modifique el programa anterior de manera que el programa solicite dos listas sin repeticiones y escriba
el resultado al final:
Dígame cuántas palabras tiene la lista 1: 5
Dígame la palabra 1: Carmen
Dígame la palabra 2: Carmen
Carmen ya está en la lista. Dígame la palabra 2: Pepe
Dígame la palabra 3: Alberto
Dígame la palabra 4: Benito
Dígame la palabra 5: David
Dígame cuántas palabras tiene la lista 2: 3
Dígame la palabra 1: Benito
Dígame la palabra 2: Juan
Dígame la palabra 3: Carmen
Las listas creadas inicialmente son:
['Carmen', 'Pepe', 'Alberto', 'Benito', 'David']
['Benito', 'Juan', 'Carmen']
Las listas tras borrar en la primera lista los elementos que aparecen en la segunda lista son:
['Pepe', 'David']
['Benito', 'Juan', 'Carmen']
Nota: Se puede añadir un parámetro a la función que crea la lista, el número de lista.
Funciones (2) - 5-3
Modifique el programa anterior de manera que se escriban varias listas y el programa elimine de las
listas anteriores las palabras que aparecen en las siguientes:
Generador de listas
¿Cuántas listas quiere escribir? 3
Dígame cuántas palabras tiene la lista 1: 3
Dígame la palabra 1: Ana
Dígame la palabra 2: Bárbara
Dígame la palabra 3: Carmen
Dígame cuántas palabras tiene la lista 2: 3
Dígame la palabra 1: Alberto
Dígame la palabra 2: Bernardo
Dígame la palabra 3: Bárbara
Dígame cuántas palabras tiene la lista 3: 2
Dígame la palabra 1: Carmen
Dígame la palabra 2: Alberto
Las listas creadas inicialmente son:
['Ana', 'Bárbara', 'Carmen]
['Alberto', 'Bernardo', 'Bárbara']
['Carmen', 'Alberto']
Las listas tras borrar en cada lista las palabras de listas posteriores:
['Ana']
['Bernardo', 'Bárbara']
['Carmen', 'Alberto']
Nota: Se puede crear una lista de listas en la que se vayan introduciendo las listas a medida que se
generan
Alternar menú
Ejercicios de funciones
Ejercicio 1Permalink
Crea un función EscribirCentrado, que reciba como parámetro un texto y lo escriba centrado en pantalla
(suponiendo una anchura de 80 columnas; pista: deberás escribir 40 - longitud/2 espacios antes del
texto). Además subraya el mensaje utilizando el carácter =.
Ejercicio 2Permalink
Crea un programa que pida dos número enteros al usuario y diga si alguno de ellos es múltiplo del otro.
Crea una función EsMultiplo que reciba los dos números, y devuelve si el primero es múltiplo del
segundo.
Ejercicio 3Permalink
Crear una función que calcule la temperatura media de un día a partir de la temperatura máxima y
mínima. Crear un programa principal, que utilizando la función anterior, vaya pidiendo la temperatura
máxima y mínima de cada día y vaya mostrando la media. El programa pedirá el número de días que se
van a introducir.
Ejercicio 4Permalink
Crea un función “ConvertirEspaciado”, que reciba como parámetro un texto y devuelve una cadena con
un espacio adicional tras cada letra. Por ejemplo, “Hola, tú” devolverá “H o l a , t ú “. Crea un programa
principal donde se use dicha función.
Ejercicio 5Permalink
Crea una función “calcularMaxMin” que recibe una lista con valores numéricos y devuelve el valor
máximo y el mínimo. Crea un programa que pida números por teclado y muestre el máximo y el mínimo,
utilizando la función anterior.
Ejercicio 6Permalink
Diseñar una función que calcule el área y el perímetro de una circunferencia. Utiliza dicha función en un
programa principal que lea el radio de una circunferencia y muestre su área y perímetro.
Ejercicio 7Permalink
Crear una subrutina llamada “Login”, que recibe un nombre de usuario y una contraseña y te devuelve
Verdadero si el nombre de usuario es “usuario1” y la contraseña es “asdasd”. Además recibe el número
de intentos que se ha intentado hacer login y si no se ha podido hacer login incremente este valor.
Crear un programa principal donde se pida un nombre de usuario y una contraseña y se intente hacer
login, solamente tenemos tres oportunidades para intentarlo.
Ejercicio 8Permalink
Crear una función recursiva que permita calcular el factorial de un número. Realiza un programa
principal donde se lea un entero y se muestre el resultado del factorial.
Ejercicio 9Permalink
Crear una función que calcule el MCD de dos número por el método de Euclides. El método de Euclides
es el siguiente:
Se divide el número mayor entre el menor.
Si la división es exacta, el divisor es el MCD.
Si la división no es exacta, dividimos el divisor entre el resto obtenido y se continúa de esta forma hasta
obtener una división exacta, siendo el último divisor el MCD.
Crea un programa principal que lea dos números enteros y muestre el MCD.
Ejercicio 10Permalink
Escribir dos funciones que permitan calcular:
La cantidad de segundos en un tiempo dado en horas, minutos y segundos.
La cantidad de horas, minutos y segundos de un tiempo dado en segundos.
Escribe un programa principal con un menú donde se pueda elegir la opción de convertir a segundos,
convertir a horas,minutos y segundos o salir del programa.
Ejercicio 11Permalink
El día juliano correspondiente a una fecha es un número entero que indica los días que han transcurrido
desde el 1 de enero del año indicado. Queremos crear un programa principal que al introducir una fecha
nos diga el día juliano que corresponde. Para ello podemos hacer las siguientes subrutinas:
LeerFecha: Nos permite leer por teclado una fecha (día, mes y año).
DiasDelMes: Recibe un mes y un año y nos dice los días de ese mes en ese año.
EsBisiesto: Recibe un año y nos dice si es bisiesto.
Calcular_Dia_Juliano: recibe una fecha y nos devuelve el día juliano.
Ejercicio 12Permalink
Vamos a mejorar el ejercicio anterior haciendo una función para validar la fecha. De tal forma que al leer
una fecha se asegura que es válida.
Ejercicio 13Permalink
Queremos crear un programa que trabaje con fracciones a/b. Para representar una fracción vamos a
utilizar dos enteros: numerador y denominador.
Vamos a crear las siguientes funciones para trabajar con funciones:
Leer_fracción: La tarea de esta función es leer por teclado el numerador y el denominador. Cuando leas
una fracción debes simplificarla.
Escribir_fracción: Esta función escribe en pantalla la fracción. Si el dominador es 1, se muestra sólo el
numerador.
Calcular_mcd: Esta función recibe dos número y devuelve el máximo común divisor.
Simplificar_fracción: Esta función simplifica la fracción, para ello hay que dividir numerador y dominador
por el MCD del numerador y denominador.
Sumar_fracciones: Función que recibe dos funciones n1/d1 y n2/d2, y calcula la suma de las dos
fracciones. La suma de dos fracciones es otra fracción cuyo numerador=n1*d2+d1*n2 y
denominador=d1*d2. Se debe simplificar la fracción resultado.
Restar_fracciones: Función que resta dos fracciones: numerador=n1*d2-d1*n2 y denominador=d1*d2.
Se debe simplificar la fracción resultado.
Multiplicar_fracciones: Función que recibe dos fracciones y calcula el producto, para ello
numerador=n1*n2 y denominador=d1*d2. Se debe simplificar la fracción resultado.
Dividir_fracciones: Función que recibe dos fracciones y calcula el cociente, para ello numerador=n1*d2 y
denominador=d1*n2. Se debe simplificar la fracción resultado.
Crear un programa que utilizando las funciones anteriores muestre el siguiente menú:
Sumar dos fracciones: En esta opción se piden dos fracciones y se muestra el resultado.
Restar dos fracciones: En esta opción se piden dos fracciones y se muestra la resta.
Multiplicar dos fracciones: En esta opción se piden dos fracciones y se muestra la producto.
Dividir dos fracciones: En esta opción se piden dos fracciones y se muestra la cociente.
Salir
Ejercicio 14Permalink
Vamos a crear un programa para trabajar con una pila. Una pila es una estructura de datos que nos
permite guardar un conjunto de variables. La característica fundamental es que el último elemento que
se añade al conjunto es el primero que se puede sacar.
Para representar una pila vamos a utilizar una lista de cadenas de caracteres.
Vamos a crear varias funciones para trabajar con la pila:
LongitudPila: Función que recibe una pila y devuelve el número de elementos que tiene.
EstaVaciaPila: Función que recibe una pila y que devuelve si la pila está vacía, no tiene elementos.
EstaLlenaPila: Función que recibe una pila y que devuelve si la pila está llena.
AddPila: función que recibe una cadena de caracteres y una pila, y añade la cadena a la pila, si no está
llena. si esta llena muestra un mensaje de error.
SacarDeLaPila: Función que recibe una pila y devuelve el último elemento añadido y lo borra de la pila. Si
la pila está vacía muestra un mensaje de error.
EscribirPila: Función que recibe una pila y muestra en pantalla los elementos de la pila.
Realiza un programa principal que nos permita usar las funciones anterior, que nos muestre un menú,
con las siguientes opciones:
Añadir elemento a la pila
Sacar elemento de la pila
Longitud de la pila
Mostrar pila
Salir
Ejercicio 15Permalink
Vamos a realizar un programa similar al anterior para trabajar con una cola. Una cola es una estructura
de datos que nos permite guardar un conjunto de variables. La característica fundamental es que el
primer elemento que se añade al conjunto es el primero que se puede sacar.
En realizada nos sirven todas las funciones del ejercicio anterior menos la función SacarDeLaCola que es
la que tienes que modificar.
#programa principal
x=int(input("Un número: "))
y=int(input("Otro número: "))
print(maximo(x-3, minimo(x+2, y-5)))
11
Escribir una función que, dado un número de DNI, retorne True si el número es válido y False si no lo es.
Para que un número de DNI sea válido debe tener entre 7 y 8 dígitos.
12
Escribir una función que, dado un string, retorne la longitud de la última palabra. Se considera que las
palabras están separadas por uno o más espacios. También podría haber espacios al principio o al final
del string pasado por parámetro.
13
Escribir un programa que permita al usuario obtener un identificador para cada uno de los socios de un
club. Para eso ingresará nombre completo y número de DNI de cada socio, indicando que finalizará el
procesamiento mediante el ingreso de un nombre vacío.
Precondición: el formato del nombre de los socios será: nombre apellido. Podría ingresarse más de un
nombre, en cuyo caso será: nombre1 nombre2 apellido. Si un socio tuviera más de un apellido, el
usuario sólo ingresará uno.
Se debe validar que el número de DNI tenga 7 u 8 dígitos. En caso contrario, el programa debe dejar al
usuario en un bucle hasta que ingrese un DNI correcto.
Por cada socio se debe imprimir su identificador único, el cual estará formado por: el primer nombre, la
cantidad de letras del apellido y los primeros 3 dígitos de su DNI. Ejemplo:
Nombre: Alba María Linares
DNI: 25834910
Alba7258
14
Escribir la función titulo(), la cual recibe un string y lo retorna convirtiendo la primera letra de cada
palabra a mayúscula y las demás letras a minúscula, dejando inalterados los demás caracteres.
Precondición: el separador de palabras es el espacio: " ". Agregar doctests con suficientes casos de
prueba para validar que la función retorna el valor esperado ante distintos argumentos.
[Link]
Aprende con Alf
Buscar...
Ejercicios de Programación Funcional
Ejercicio 1
Escribir una función que aplique un descuento a un precio y otra que aplique el IVA a un precio. Escribir
una tercera función que reciba un diccionario con los precios y porcentajes de una cesta de la compra, y
una de las funciones anteriores, y utilice la función pasada para aplicar los descuentos o el IVA a los
productos de la cesta y devolver el precio final de la cesta.
Ejercicio 2
Escribir una función que simule una calculadora científica que permita calcular el seno, coseno,
tangente, exponencial y logaritmo neperiano. La función preguntará al usuario el valor y la función a
aplicar, y mostrará por pantalla una tabla con los enteros de 1 al valor introducido y el resultado de
aplicar la función a esos enteros.
Ejercicio 3
Escribir una función que reciba otra función y una lista, y devuelva otra lista con el resultado de aplicar la
función dada a cada uno de los elementos de la lista.
Ejercicio 4
Escribir una función que reciba otra función booleana y una lista, y devuelva otra lista con los elementos
de la lista que devuelvan True al aplicarles la función booleana.
Ejercicio 5
Escribir una función que reciba una frase y devuelva un diccionario con las palabras que contiene y su
longitud.
Ejercicio 6
Escribir una función reciba una lista de notas y devuelva la lista de calificaciones correspondientes a esas
notas.
Ejercicio 7
Escribir una función reciba un diccionario con las asignaturas y las notas de un alumno y devuelva otro
diccionario con las asignaturas en mayúsculas y las calificaciones correspondientes a las notas.
Ejercicio 8
Escribir una función reciba un diccionario con las asignaturas y las notas de un alumno y devuelva otro
diccionario con las asignaturas en mayúsculas y las calificaciones correspondientes a las notas
aprobadas.
Ejercicio 9
Escribir una función que calcule el módulo de un vector.
Ejercicio 10
Una inmobiliaria de una ciudad maneja una lista de inmuebles como la siguiente:
[{'año': 2000, 'metros': 100, 'habitaciones': 3, 'garaje': True, 'zona': 'A'},
{'año': 2012, 'metros': 60, 'habitaciones': 2, 'garaje': True, 'zona': 'B'},
{'año': 1980, 'metros': 120, 'habitaciones': 4, 'garaje': False, 'zona': 'A'},
{'año': 2005, 'metros': 75, 'habitaciones': 3, 'garaje': True, 'zona': 'B'},
{'año': 2015, 'metros': 90, 'habitaciones': 2, 'garaje': False, 'zona': 'A'}]
Construir una función que permita hacer búsqueda de inmuebles en función de un presupuesto dado. La
función recibirá como entrada la lista de inmuebles y un precio, y devolverá otra lista con los inmuebles
cuyo precio sea menor o igual que el dado. Los inmuebles de la lista que se devuelva deben incorporar
un nuevo par a cada diccionario con el precio del inmueble, donde el precio de un inmueble se calcula
con las siguiente fórmula en función de la zona:
Zona A: precio = (metros * 1000 + habitaciones * 5000 + garaje * 15000) * (1-antiguedad/100)
Zona B: precio = (metros * 1000 + habitaciones * 5000 + garaje * 15000) * (1-antiguedad/100) * 1.5
Ejercicio 11
Escribir una función que reciba una muestra de números y devuelva los valores atípicos, es decir, los
valores cuya puntuación típica sea mayor que 3 o menor que -3. Nota: La puntuación típica de un valor
se obtiene restando la media y dividiendo por la desviación típica de la muestra.
personas = {«SOFIA»:19,»MARIO»:21,»ELIZABETH»:54,»lUCAS»:26}
Ejercicios en Python – Funciones y Variables
Ejercicio 7: Entrando números
Desarrollar una función que use lo visto de excepciones para que tome por input() el número como str y
lo transforme directamente a float, sea entero o decimal.
Se debe pasar como argumento la frase para mostrar en pantalla el pedido. Además, deberíamos de
volver a pedir, hasta que se pueda hacer el ingreso de forma correcta.
Por lo tanto, en este ejercicio debemos desarrollar una función que, de acuerdo a nuestro salario, nos
avise cuánto se nos descontará de acuerdo al impuesto IVA. En este caso, el IVA debe ser del 15%
Por ejemplo, si nuestro salario es de 100$, el IVA nos debería descontar 15$ de nuestras ganancias
A partir de ahora cada vez que tomemos un número por teclado podemos hacer uso de esta función que
veremos a continuación.
Ejercicios en Python – Funciones y Variables
Lope González
Ejercicios resueltos sobre funciones y módulos en Python
Lope González > ESO y Bachillerato > Creación digital y pensamiento computacional, 1º Bachillerato >
Tema 1. Introducción a la programación > Ejercicios resueltos sobre funciones y módulos en Python
Currículo: este documento es un complemento práctico para el Tema 1. Introducción a la programación
de la asignatura Creación digital y pensamiento computacional, correspondiente a 1º Bachillerato.
Tabla de contenidos
Ejercicio 1: calcular el salario total de un trabajador con horas extras
Ejercicio 2: crear un módulo con funciones de conversión de temperatura
Ejercicio 3: contar cuántos elementos de una lista son pares e impares
Ejercicio 4: verificar si una palabra es un palíndromo
Ejercicio 5: función que devuelva el número mayor de tres valores
Ejercicio 6: crear una calculadora simple con funciones
Ejercicio 7: generar una tabla de multiplicar usando funciones
Ejercicio 8: calcular el promedio de una lista de números con una función
Ejercicio 9: crear una función que invierta una cadena de texto
Ejercicio 10: crear un módulo con operaciones matemáticas simples
Para que puedas practicar sobre los conceptos vistos sobre funciones y módulos en Python, aquí tienes
una batería de ejercicios resueltos con explicaciones detalladas de cada uno.
Ejercicio 1: calcular el salario total de un trabajador con horas extras
Escribe una función llamada calcular_salario que reciba el número de horas trabajadas y la tarifa por
hora. Si las horas son mayores a 40, las horas adicionales se pagarán al 150% de la tarifa normal. La
función debe devolver el salario total. Luego, llama a la función y muestra el resultado.
Solución
Ejercicio 2: crear un módulo con funciones de conversión de temperatura
Crea un módulo llamado conversor_temperaturas.py que contenga dos funciones:
celsius_a_fahrenheit(celsius) y fahrenheit_a_celsius(fahrenheit). Luego, escribe un programa principal
que importe el módulo y permita al usuario elegir entre ambas conversiones.
Solución
Ejercicio 3: contar cuántos elementos de una lista son pares e impares
Escribe una función llamada contar_pares_impares que reciba una lista de números y devuelva cuántos
de ellos son pares y cuántos son impares. El programa debe mostrar ambos valores.
Solución
Ejercicio 4: verificar si una palabra es un palíndromo
Escribe una función llamada es_palindromo que reciba una palabra y devuelva True si es un palíndromo
(se lee igual al derecho y al revés) o False si no lo es. El programa debe mostrar el resultado.
Solución
Ejercicio 5: función que devuelva el número mayor de tres valores
Escribe una función llamada numero_mayor que reciba tres números como parámetros y devuelva el
mayor de ellos. Luego, muestra el resultado en el programa principal.
Solución
Ejercicio 6: crear una calculadora simple con funciones
Escribe un programa que defina cuatro funciones: sumar(a, b), restar(a, b), multiplicar(a, b) y dividir(a,
b). El programa debe permitir al usuario elegir una operación y realizar el cálculo.
Solución
Ejercicio 7: generar una tabla de multiplicar usando funciones
Escribe una función llamada tabla_multiplicar que reciba un número y devuelva su tabla de multiplicar
del 1 al 10 en forma de lista. El programa principal debe mostrar la tabla.
Solución
Ejercicio 8: calcular el promedio de una lista de números con una función
Escribe una función llamada calcular_promedio que reciba una lista de números y devuelva el promedio
de los números. El programa debe mostrar el promedio calculado.
Solución
Ejercicio 9: crear una función que invierta una cadena de texto
Escribe una función llamada invertir_cadena que reciba una cadena de texto y devuelva la cadena
invertida.
Solución
Ejercicio 10: crear un módulo con operaciones matemáticas simples
Crea un módulo llamado operaciones_matematicas.py que contenga cuatro funciones: sumar(a, b),
restar(a, b), multiplicar(a, b) y dividir(a, b). Luego, escribe un programa principal que importe el módulo
y permita al usuario elegir una operación.
Solución