Ejercitación de funciones y subrutinas definidas por el usuario
Consejos para resolver los ejercicios
-
Divide y vencerás: si un ejercicio parece complicado, divídelo en pasos más pequeños.
-
Prueba tus funciones: asegúrate de probar cada función con diferentes entradas para verificar su correcto funcionamiento.
-
Documenta tu código: Agrega comentarios a tu código para explicar qué hace cada parte, esto te ayudará a ti y a otros a entenderlo mejor.
¡Diviértete programando!
Ejercicios
-
Saludar Crea una función que imprima en pantalla un saludo. Por ejemplo: Hola, ¿cómo estás?
Haz clic aquí para ver la solución propuesta
En este caso, la función
saludar()
imprime en pantalla un saludo.
El programa llama a la funciónsaludar()
para que imprima el saludo en la salida estándar.Puedes modificar el saludo impreso en pantalla para personalizarlo a tu gusto.
¿Sabías que...?
La mayoría de las funciones, propias del lenguaje o definidas por el usuario, de un programa cumplen con la tarea de realizar algún cálculo y retornar el resultado obtenido para ser utilizado en otra parte del programa.
-
Sumar dos números
Crea una función que reciba dos números como parámetros y retorne su suma.Haz clic aquí para ver la solución propuesta
Python Terminal (Entrada/Salida)Ingrese el primer número: 5 Ingrese el segundo número: 3 La suma de 5 y 3 es: 8
En este caso, la función
sumar()
recibe dos números como parámetros y devuelve su suma.
El programa solicita al usuario que ingrese dos números.
Luego, llama a la funciónsumar()
con los números ingresados como argumentos y esta devuelve el resultado calculado. Finalmente, imprime el resultado a través de una f-string en la salida estándar.Recuerda que puedes modificar los números ingresados para probar diferentes combinaciones.
También puedes modificar la función
sumar()
para realizar otras operaciones matemáticas, como resta, multiplicación o división.La salida en pantalla la generamos con una f-string para mostrar el resultado de la suma de manera clara y legible, pero también podrías utilizar concatenación de cadenas o cualquier otro método que prefieras.
-
Calcular el perímetro de un rectángulo
Escribe una función que reciba la base y la altura de un rectángulo y retorne su perímetro. Usa la fórmulaperímetro = 2 × (base + altura)
.Haz clic aquí para ver la solución propuesta
Terminal (Entrada/Salida)Ingrese la base del rectángulo: 5.5 Ingrese la altura del rectángulo: 3.25 El perímetro del rectángulo con base 5.5 y altura 3.25 es: 17.5
En este caso, la función
perimetro_rectangulo()
recibe la base y la altura de un rectángulo como parámetros y devuelve su perímetro.
El programa solicita al usuario que ingrese la base y la altura del rectángulo.
Luego, llama a la funciónperimetro_rectangulo()
con la base y la altura ingresadas como argumentos y esta devuelve el perímetro calculado. Finalmente, imprime el resultado a través de una f-string en la salida estándar.Usa
float
para permitir decimales en la base y la altura del rectángulo.
Si prefieres trabajar solo con números enteros, puedes cambiarfloat
porint
.
Recuerda que puedes modificar la base y la altura ingresadas para obtener diferentes resultados.
-
Calcular el área de un triángulo Crea una función que reciba la base y la altura de un triángulo y retorne su área. Usa la fórmula
área = (base × altura) / 2
.Haz clic aquí para ver la solución propuesta
Terminal (Entrada/Salida)Ingrese la base del triángulo: 4.5 Ingrese la altura del triángulo: 3 El área del triángulo con base 4.5 y altura 3.0 es: 6.75
En este caso, la función
area_triangulo()
recibe la base y la altura de un triángulo como parámetros y devuelve su área.
El programa solicita al usuario que ingrese la base y la altura del triángulo.
Luego, llama a la funciónarea_triangulo()
con la base y la altura ingresadas como argumentos y esta devuelve el área calculada. Finalmente, imprime el resultado a través de una f-string en la salida estándar.Usa
float
para permitir decimales en la base y la altura del triángulo.
Si prefieres trabajar solo con números enteros, puedes cambiarfloat
porint
.
Recuerda que puedes modificar la base y la altura ingresadas para obtener diferentes resultados.
-
Calcular el área de un círculo
Escribe una función que reciba el radio de un círculo y retorne su área. Usa la fórmulaarea = π × radio²
.Haz clic aquí para ver la solución propuesta
Terminal (Entrada/Salida)Ingrese el radio del círculo: 2.5 El área del círculo con radio 2.5 es: 19.634954084936208
En este caso, la función
area_circulo()
recibe el radio de un círculo como parámetro y devuelve su área.
El programa solicita al usuario que ingrese el radio del círculo. Luego, llama a la funciónarea_circulo()
con el radio ingresado como argumento y esta devuelve el área calculada. Finalmente, imprime el resultado a través de una f-string en la salida estándar.Para acceder al valorde la constante π (pi), importamos el módulo
math
. No te preocupes si no entiendes completamente cómo funciona, simplemente recuerda quemath.pi
te da el valor de π.
Si no te sientes a gusto usando módulos, puedes asignar el valor de π manualmente. Por ejmplor,pi = 3.14159
. Y luego usarpi
en lugar demath.pi
:return pi * radio ** 2
.Recuerda que puedes modificar el radio ingresado para obtener diferentes resultados.
-
Calcular el volumen de un cubo
Desarrolla una función que reciba el lado de un cubo y retorne su volumen. Usa la fórmulavolumen = lado³
.Haz clic aquí para ver la solución propuesta
Python En este caso, la función
volumen_cubo()
recibe el lado de un cubo como parámetro y devuelve su volumen. El programa solicita al usuario que ingrese el lado del cubo. Luego, llama a la funciónvolumen_cubo()
con el lado ingresado como argumento y esta devuelve el volumen calculado. Finalmente, imprime el resultado a través de una f-string en la salida estándar.Usa
float
para permitir decimales en el lado del cubo. Si prefieres trabajar solo con números enteros, puedes cambiarfloat
porint
. Recuerda que puedes modificar el lado ingresado para obtener diferentes resultados.
-
Pitágoras y los triángulos rectángulos Escribe una función que reciba la longitud de los dos catetos y de la hipotenusa de un triángulo y retorne si el triángulo es rectángulo o no.
La función debe pasar al programa principal una cadena de caracteres con la respuesta formateada, por ejemplo:"El triángulo de catetos 3 y 4 y de hipotenusa 5 es rectángulo."
o"El triángulo de catetos 3 y 4 y de hipotenusa 6 no es rectángulo."
.Fórmula de Pitágoras
En un triángulo rectángulo, el cuadrado de la hipotenusa es igual a la suma de los cuadrados de los catetos.
Es decir, sia
yb
son los catetos yc
es la hipotenusa, entoncesa² + b² = c²
.Haz clic aquí para ver la solución propuesta
Terminal (Entrada/Salida)Ingrese la longitud del primer cateto: 3 Ingrese la longitud del segundo cateto: 4 Ingrese la longitud de la hipotenusa: 5 El triángulo de catetos 3.0 y 4.0 y de hipotenusa 5.0 es rectángulo. Ingrese la longitud del primer cateto: 3 Ingrese la longitud del segundo cateto: 4 Ingrese la longitud de la hipotenusa: 6 El triángulo de catetos 3.0 y 4.0 y de hipotenusa 6.0 no es rectángulo.
En este caso, la función
es_triangulo_rectangulo()
recibe la longitud de los dos catetos y de la hipotenusa de un triángulo como parámetros y retorna si el triángulo es rectángulo o no.
El programa solicita al usuario que ingrese la longitud del primer cateto, del segundo cateto y de la hipotenusa del triángulo.
Luego, llama a la funciónes_triangulo_rectangulo()
con las longitudes ingresadas como argumentos y esta retorna la respuesta formateada a través de una f-string. Finalmente, imprime la respuesta en la salida estándar.
-
Función de doble resultado En general, pesar de que las funciones retornan un solo valor, en Python también es posible retornar múltiples valores en la misma sentencia de retorno. Para entender este concepto, resuelve el siguiente ejercicio:
- Crea una función que reciba 2 números en un determinado orden y que los retorne en el orden inverso (intercambiados). Antes de retornar los valores, imprime en pantalla la frase "Magia Magia... ¡Los valores han sido intercambiados!".
- Ingresa 2 números por teclado y almacénalos en las variables
n1
yn2
. - Luego, imprime en pantalla cada valor ingresado indicando cual es
n1
y cual esn2
. - A continuación, llama a la función creada en el paso 1 con los números ingresados como argumentos y almacena los valores retornados en las variables
n1
yn2
, respectivamente. - Por último, imprime en pantalla los valores almacenados en
n1
yn2
, indicando cual es cual.
Por ejemplo, para los valores 4 y 5, el programa debe responder de la siguiente manera:
Terminal (Entrada/Salida)Ingrese el primer número: 4 Ingrese el segundo número: 5 El valor almacenado en n1 es 4 El valor almacenado en n2 es 5 Magia Magia... ¡Los valores han sido intercambiados! Ahora, el valor almacenado en n1 es 5 Ahora, el valor almacenado en n2 es 4
Haz clic aquí para ver la solución propuesta
Terminal (Entrada/Salida)Ingrese el primer número: 4 Ingrese el segundo número: 5 El valor almacenado en n1 es 4 El valor almacenado en n2 es 5 Magia Magia... ¡Los valores han sido intercambiados! Ahora, el valor almacenado en n1 es 5 Ahora, el valor almacenado en n2 es 4
En este caso, la función
intercambiar()
recibe dos números como parámetros y los retorna en el orden inverso.
El programa solicita al usuario que ingrese dos números.
Luego, imprime en pantalla los valores ingresados indicando cual esn1
y cual esn2
.
A continuación, llama a la funciónintercambiar()
con los números ingresados como argumentos y almacena los valores retornados en las variablesn1
yn2
, respectivamente.
Finalmente, imprime en pantalla los valores almacenados enn1
yn2
, indicando cual es cual.Recuerda que puedes modificar los números ingresados para obtener diferentes resultados.
-
Contar caracteres en una cadena
Escribe una función que reciba una cadena y retorne el número total de caracteres en ella. Elimina los espacios en blanco.Haz clic aquí para ver la solución propuesta
Python En este caso, la función
contar_caracteres()
recibe una cadena como parámetro y devuelve el número total de caracteres en ella.
El programa solicita al usuario que ingrese una cadena de texto.
Luego, llama a la funcióncontar_caracteres()
con la cadena ingresada como argumento y esta devuelve la cantidad de caracteres contados, eliminando los espacios en blanco. Finalmente, imprime el resultado a través de una f-string en la salida estándar.Para contar los caracteres, se utiliza el método
replace()
para eliminar los espacios en blanco de la cadena y luego se aplica la funciónlen()
para obtener la longitud de la cadena resultante.Si deseas contar los espacios en blanco, simplemente elimina el método
replace(" ", "")
y usalen(cadena)
directamente.Recuerda que puedes modificar la cadena ingresada para obtener diferentes resultados.
-
Concatenar dos cadenas
Crea una función que reciba dos cadenas y retorne una nueva cadena que sea la concatenación de ambas.Haz clic aquí para ver la solución propuesta
Python Terminal (Entrada/Salida)Ingrese la primera cadena de texto: gira Ingrese la segunda cadena de texto: sol La concatenación de las cadenas es: girasol
En este caso, la función
concatenar_cadenas()
recibe dos cadenas como parámetros y devuelve una nueva cadena que es la concatenación de ambas.
El programa solicita al usuario que ingrese dos cadenas de texto.
Luego, llama a la funciónconcatenar_cadenas()
con las cadenas ingresadas como argumentos y esta devuelve la concatenación de ambas. Finalmente, imprime el resultado a través de una f-string en la salida estándar.Recuerda que puedes modificar las cadenas ingresadas para obtener diferentes resultados.
-
Repetir una cadena Crea una función que reciba una cadena y un número entero
n
, y retorne la cadena repetidan
veces en el mismo renglón, separadas por un espacio.Haz clic aquí para ver la solución propuesta
Python Terminal (Entrada/Salida)Ingrese una cadena de texto: Hola Ingrese un número entero: 3 La cadena repetida 3 veces es: Hola Hola Hola
En este caso, la función
repetir_cadena()
recibe una cadena y un número enteron
como parámetros y devuelve la cadena repetidan
veces en el mismo renglón, separadas por un espacio.
El programa solicita al usuario que ingrese una cadena de texto y un número entero.
Luego, llama a la funciónrepetir_cadena()
con la cadena y el número ingresados como argumentos y esta devuelve la cadena repetidan
veces. Finalmente, imprime el resultado a través de una f-string en la salida estándar.El operador
*
se utiliza para repetir la cadenan
veces y el métodostrip()
elimina el espacio en blanco al final de la cadena resultante.Recuerda que puedes modificar la cadena y el número ingresados para obtener diferentes resultados.
-
Invertir una cadena
Desarrolla una función que reciba una cadena y retorne la misma cadena pero invertida.Haz clic aquí para ver la solución propuesta
Python Terminal (Entrada/Salida)Ingrese una cadena de texto: Hola, Mundo! La cadena invertida es: !odnuM ,aloH
En este caso, la función
invertir_cadena()
recibe una cadena como parámetro y devuelve la misma cadena pero invertida.
El programa solicita al usuario que ingrese una cadena de texto, la cual se almacena en la variablecadena
, y se eliminan los espacios en blanco al inicio y al final.
Luego, llama a la funcióninvertir_cadena()
con la cadena ingresada como argumento y esta devuelve la cadena invertida. Finalmente, imprime el resultado a través de una f-string en la salida estándar.Si no recuerdas cómo funciona la notación
[::]
, puedes repasar la lección sobre Rebanadas (slicing) haciendo clic aquí.Pero, básicamente, se utiliza la sintaxis de rebanado de Python
cadena[::-1]
para obtener una nueva cadena que es la cadena original invertida.
El paso-1
en el rebanado indica que se debe proceder de derecha a izquierda, lo que efectivamente invierte el orden de los caracteres.
Finalmente, se retorna la cadena invertida.Otra forma de invertir una cadena es utilizando la función
reversed()
junto conjoin()
:
-
Obtener el primer caracter de una cadena
Escribe una función que reciba una cadena y retorne el primer caracter de la misma.
Recuerda como se indexan las cadenas en Python. Es decir, cómo se identifica al primer caracter, al segundo, y así sucesivamente.Haz clic aquí para ver la solución propuesta
Python En este caso, la función
primer_caracter()
recibe una cadena como parámetro y devuelve el primer caracter de la misma.
El programa solicita al usuario que ingrese una cadena de texto.
Luego, llama a la funciónprimer_caracter()
con la cadena ingresada como argumento y esta devuelve el primer caracter de la cadena. Finalmente, imprime el resultado a través de una f-string en la salida estándar.Recuerda que puedes modificar la cadena ingresada para obtener diferentes resultados.
-
Obtener el último caracter de una cadena
Desarrolla una función que reciba una cadena y retorne el último caracter de la misma.
Recuerda como se indexan las cadenas en Python. Es decir, cómo se identifica al primer caracter, al segundo, y así sucesivamente.
También recuerda como es posible obtener el último caracter de una cadena. O como recorrer una cadena de derecha a izquierda.Haz clic aquí para ver la solución propuesta
Python En este caso, la función
ultimo_caracter()
recibe una cadena como parámetro y devuelve el último caracter de la misma.
El programa solicita al usuario que ingrese una cadena de texto.
Luego, llama a la funciónultimo_caracter()
con la cadena ingresada como argumento y esta devuelve el último caracter de la cadena. Finalmente, imprime el resultado a través de una f-string en la salida estándar.Recuerda que puedes modificar la cadena ingresada para obtener diferentes resultados.
-
Obtener un caracter en el orden específico de una cadena
Crea una función que reciba una cadena y un número enteron
, y retorne el caracter según el ordenn
de la cadena.
Por ejemplo, si se ingresan la cadena"Python"
y el número3
, la función deberá devolver la letra"t"
. A los efectos prácticos, el enteron
será siempre válido. Recuerda como se indexan las cadenas en Python. Es decir, cómo se identifica al primer caracter, al segundo, y así sucesivamente.Haz clic aquí para ver la solución propuesta
Python Terminal (Entrada/Salida)Ingrese una cadena de texto: Python Ingrese el número de caracter que desea obtener: 3 El caracter en el orden 3 de la cadena es: t
En este caso, la función
caracter_n()
recibe una cadena y un número enteron
como parámetros y devuelve el caracter según el ordenn
de la cadena.
El programa solicita al usuario que ingrese una cadena de texto y un número entero.
Luego, llama a la funcióncaracter_n()
con la cadena y el número ingresados como argumentos y esta devuelve el caracter en la posiciónn-1
de la cadena.
Finalmente, imprime el resultado a través de una f-string en la salida estándar.Analizando
n-1
, esto es así porque los índices en Python, como en cualquier otro lenguaje en general, comienzan en 0.
Por lo tanto, el primer caracter tiene índice 0, el segundo índice 1, y así sucesivamente.
Si se desea obtener el caracter en la posiciónn
, se debe restar 1 al valor den
para obtener el índice correcto.
De esta forma, si se ingresa3
, se obtiene el caracter en la posición2
de la cadena.Recuerda que puedes modificar la cadena y el número ingresados para obtener diferentes resultados.