Análisis funciones. Ejercicio 1. Segundos totales.
Enunciado
Calcule los segundos de un período de tiempo expresado como horas:minutos:segundos. En las horas se admitirá un rango de [0-23], en los minutos y segundos [0-59]. Para ello:
Cree una función que pregunte al usuario el período de tiempo (horas, minutos, segundos). Esta función recibirá como parámetro de entrada el mensaje que se le muestra al usuario y el rango válido de cada valor. La función pedirá el dato deseado hasta que cumpla con el rango.
Cree una función que reciba ese período de tiempo y calcule los segundos.
El programa principal llamará a las dos funciones indicadas anteriormente, la primera será llamada más de una vez para obtener todos los datos, y la segunda computará los segundos totales. Se mostrará el resultado por pantalla en el programa principal.
Análisis:
Localizar información común y que se repita varias veces.
Introducir un dato entero.
Introducir un dato entre 0-23 (minutos y segundo) y 0-59 (horas).

Se observa que es el mismo procedimiento para para minutos, segundos y horas, se crea un función que será la misma para ellos.

Código
def calculo(mensaje,limite):
x=-1
while x<0 or x>limite:
try:
x=int(input(mensaje))
if x<0:
print("dato debe ser positivo")
if x>limite:
print("los datos debe ser menor al limite ")
except:
print("debe ser numero")
return x
def segundos_calculo(hora, minutos, segundos):
suma=hora*3600+minutos*60+segundos
return suma
#Pedir datos
hora=calculo("Dame las horas:",24)
minutos=calculo("Dame los minutos:",60)
#Realizar los cálculos
segundos=calculo("Dame los segundos:",60)
#Visualizar los resultados
print("El número total de segundos es:",segundos_calculo(hora,minutos,segundos))
Última actualización
¿Te fue útil?