A continuación se define una función print_asegundos (horas, minutos, segundos)
con tres parámetros (horas
, minutos
y segundos
) que imprime por pantalla la transformación a segundos de una medida de tiempo expresada en horas, minutos y segundos:
def print_asegundos (horas, minutos, segundos):
""" Transforma en segundos una medida de tiempo expresada en
horas, minutos y segundos """
segsal = 3600 * horas + 60 * minutos + segundos # regla de transformación
print "Son", segsal, "segundos"
Para ver si realmente funciona, podemos ejecutar la función de la siguiente forma:
>>> print_asegundos (1, 10, 10)
Son 4210 segundos
Contar con funciones es de gran utilidad, ya que nos permite ir armando una biblioteca de instrucciones con problemas que vamos resolviendo, y que se pueden reutilizar en la resolución de nuevos problemas (como partes de un problema más grande, por ejemplo) tal como lo sugiere Thompson en "How to program it".
Sin embargo, más útil que tener una biblioteca donde los resultados se imprimen por pantalla, es contar con una biblioteca donde los resultados se devuelven, para que la gente que usa esas funciones manipule esos resultados a voluntad: los imprima, los use para realizar cálculos más complejos, etc.
code.d5bf2fed17d8d29a29e44ff152ea34d2ef44d7ce De esta forma, es posible realizar distintas operaciones con el valor obtenido luego de hacer la cuenta:
>>> print calc_asegundos (1, 10, 10)
4210
>>> print "Son", calc_asegundos (1, 10, 10), "segundos" Son 4210 segundos
>>> y = calc_asegundos(1, 10, 10)
>>> z = calc_asegundos(2, 20, 20)
>>> y+z
12630
Ejercicio 3.1. Escribir una función repite_hola
que reciba como parámetro un número entero n
y escriba por pantalla el mensaje "Hola"
n
veces. Invocarla con distintos valores de n
.
Ejercicio 3.2. Escribir otra función repite_hola
que reciba como parámetro un número entero n
y retorne la cadena formada por n
concatenaciones de "Hola"
. Invocarla con distintos valores de n
.
Ejercicio 3.3. Escribir una función repite_saludo
que reciba como parámetro un número entero n
y una cadena saludo
y escriba por pantalla el valor de saludo
n
veces. Invocarla con distintos valores de n
y de saludo
.
Ejercicio 3.4. Escribir otra función repite_saludo
que reciba como parámetro un número entero n
y una cadena saludo
retorne el valor de n
concatenaciones de saludo
. Invocarla con distintos valores de n
y de saludo
.