Boletín 204. Funciones
Vamos a comenzar a utilizar funciones en nuestros scripts para poder reutilizar el código además de organizarlo de un modo más práctico.
Revisa el apartado Funciones de la unidad.
Ejercicios
- Cuando se muestra un menú, cada opción tendrá asociada una letra. Según la letra introducida por el usuario, se realiza una operación u otra. Si se selecciona una letra que no esté en el menú deberá mostrarse por pantalla un error al usuario.
- Para cada función, realiza su documentación utilizando DocString.
- No debes implementar las anotaciones de tipos de las funciones. Tan solo se indica en los enunciados para documentar las funciones.
Ejercicio 1. Escribe una función en un script en Python que informe si un número es par o impar. Este algoritmo debe ir dentro de una función definida como:
comprobar_par(numero: int) -> bool
En dicho script, utiliza dicha función para comprobar si un número que introduce un usuario es par o impar. Si es par, imprime Par y si no Impar.
Para comprobar el funcionamiento de la función utiliza el siguiente código:
# Pedimos un número
numero = int(input("Ingrese un numero: "))
# Comprobamos con la función si es par el número que se le pasa por argumento
es_par = comprobar_par(numero)
if es_par:
print("Par")
else:
print("Impar")
Ejercicio 2. Implementa una aplicación que calcule el menor de tres números introducidos por teclado por el usuario y lo muestre por pantalla. Comprueba antes de nada que ningún par de números es igual. Si esto es así, indícalo mostrando por pantalla Error y no calcules cuál es el menor de los 3. Define y utiliza estas dos funciones:
comprobar_valores_iguales(numero1: int, numero2: int, numero3: int) -> bool: indica si alguno de los números es igual.calcular_menor_numero(numero1: int, numero2: int, numero3: int) -> int: indica cuál es el menor de los números.
Para comprobar el funcionamiento de las funciones utiliza el siguiente código:
# Pedimos el primer número
numero1 = int(input("(1) Ingrese un numero: "))
numero2 = int(input("(2) Ingrese un numero: "))
numero3 = int(input("(3) Ingrese un numero: "))
# Comprobamos si son iguales los números
son_iguales = comprobar_valores_iguales(numero1, numero2, numero3)
# Si son iguales no hacemos nada
if son_iguales:
print("Erro")
# Si son distintos, calculamos el menor de los tres números
else:
menor = calcular_menor_numero(numero1, numero2, numero3)
print(menor)
Ejercicio 3. Escribe un script en Python que pida al usuario un año e indique si es bisiesto o no. Cuidado que la condición de ser bisiesto no solo es ser divisible entre 4. El algoritmo debe estar implementado dentro de una función denominada: comprobar_bisesto(ano: int) -> bool.
Condiciones para ser bisiesto:
- Obligatoriamente tiene que ser divisible entre 4.
- Si el año es divisible por 100, no es bisiesto.
- Si el año es divisible por 400, sí es bisiesto, a pesar de ser divisible por 100.
Si es bisiesto se mostrará por pantalla Bisiesto y si no No bisiesto. En caso de que se introduzca un valor negativo, se mostrará por pantalla Error.
Para comprobar el funcionamiento de la función utiliza el siguiente código:
# Pedimos el año
anyo = int(input("Indica un año: "))
# Comprobamos que sea mayor que 0
if anyo <= 0:
print("Error")
else:
bisiesto = comprobar_bisiesto(anyo)
if bisiesto:
print("Bisiesto")
else:
print("No bisiesto")
Ejercicio 4. Escribe un script en Python que pida al usuario los coeficientes de una ecuación de segundo grado y calcule la solución. Comprueba si hay una solución, dos o ninguna. Dependiendo del caso, muestra las soluciones que correspondan. Crea las siguientes funciones:
- Una función que calcule el discriminante:
discriminante(a: float, b: float, c: float) -> float - Una función que calcule el número de soluciones:
numero_soluciones(a: float, b: float, c: float) -> int. Debe utilizar internamentediscriminante(). - Una para calcular la solución cuando esta es única:
solucion_unica(a: float, b: float) -> float - Una para calcular las dos soluciones:
culcula_dos_soluciones (a: float, b: float, c: float) -> (float, float). Esta debe devolver las dos soluciones. Debe utilizar internamentediscriminante().
Ejercicio 5. Escribe un script en Python que haga el cambio de divisas tanto de euros (EUR) a libras (GBP) como viceversa. Crea un menú para que el usuario escoja el cambio que desea realizar. Realiza una función para cada uno de los cambios:
libras_to_euros(libras: float) -> floateuros_to_libras(euros: float) -> float
1 EUR = 0.86 GBP
Ejercicio 6. Escribe un script en Python que pida el nombre de usuario y contraseña al usuario. Indica si el inicio de sesión es correcto. El nombre de usuario correcto sería python y la contraseña pip. Crea la función login(usuario: str, contrasinal: str) -> bool para realizar esta operación.
Ejercicio 7. Escribe un script en Python que calcule el salario de un trabajador. El programa recibirá por parte del usuario las horas trabajadas al día y los euros por cada hora de trabajo. A continuación le preguntará al usuario si la tarifa es en bruto o en neto. A partir de su respuesta calcula el salario mensual neto.
- Los días laborables al mes son 22.
- Si el usuario indica que el coste de la hora es en bruto, indícale al usuario que introduzca el IRPF en tanto por ciento para poder calcularle el salario neto.
Deduce el número necesario de funciones y defínelas.
Ejercicio 8. La evaluación de este módulo es la siguiente: 15% de tareas, 20% examen teórico y 65% examen práctico. Escribe un script en Python que le pedirá al usuario sus tres notas sobre 10. Le indicará por pantalla si obtuvo Sobresaliente, Notable, Bien, Suficiente o Insuficiente.
Deduce el número necesario de funciones y defínelas.