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?