Ayuda con el siguiente problema por favor
Publicado por Juan (1 intervención) el 20/11/2021 07:22:06
Me pidieron que resolviera el siguiente problema
Una agencia de viajes necesita informar a sus clientes la hora de llegada de sus vuelos. Se conoce la hora de partida del vuelo (en horas, minutos y segundos) y la duración del vuelo (en horas, minutos y segundos).
Cree una función que retorne la hora de llegada del vuelo en una cadena con el formato “HH:mm:ss” donde HH es la hora, mm los minutos y ss los segundos de la hora de llegada del vuelo.
La hora está dada en formato de 24 horas. Si alguno de los 3 números de la respuesta es menor a 10, sólo se necesita un dígito ('7' en lugar de '07'). Y al momento de ejecutarlo me agrega una hora más
Ejemplo de los casos:
Caso 1
Su programa falló cuando se usaron estas entradas:
hora_salida = 7
minuto_salida = 3
segundo_salida = 58
duracion_horas = 0
duracion_minutos = 24
duracion_segundos = 33
Su programa respondió: 8:28:31
-----------------------
Caso 2
Su programa falló cuando se usaron estas entradas:
hora_salida = 7
minuto_salida = 3
segundo_salida = 58
duracion_horas = 12
duracion_minutos = 24
duracion_segundos = 33
Su programa respondió: 20:28:31
Una agencia de viajes necesita informar a sus clientes la hora de llegada de sus vuelos. Se conoce la hora de partida del vuelo (en horas, minutos y segundos) y la duración del vuelo (en horas, minutos y segundos).
Cree una función que retorne la hora de llegada del vuelo en una cadena con el formato “HH:mm:ss” donde HH es la hora, mm los minutos y ss los segundos de la hora de llegada del vuelo.
La hora está dada en formato de 24 horas. Si alguno de los 3 números de la respuesta es menor a 10, sólo se necesita un dígito ('7' en lugar de '07'). Y al momento de ejecutarlo me agrega una hora más
Ejemplo de los casos:
Caso 1
Su programa falló cuando se usaron estas entradas:
hora_salida = 7
minuto_salida = 3
segundo_salida = 58
duracion_horas = 0
duracion_minutos = 24
duracion_segundos = 33
Su programa respondió: 8:28:31
-----------------------
Caso 2
Su programa falló cuando se usaron estas entradas:
hora_salida = 7
minuto_salida = 3
segundo_salida = 58
duracion_horas = 12
duracion_minutos = 24
duracion_segundos = 33
Su programa respondió: 20:28:31
1
2
3
4
5
6
7
8
9
10
11
def calcular_horario_llegada(hora_salida:int,minuto_salida:int,segundo_salida:int,duracion_horas:int,duracion_minutos:int,duracion_segundos:int)->int:
hora_llegada = ((segundo_salida + duracion_segundos)// 60) + ((minuto_salida + duracion_minutos)// 60) + (hora_salida + duracion_horas)
minuto_llegada = ((segundo_salida + duracion_segundos)// 60) + ((minuto_salida + duracion_minutos)%60)
segundo_llegada = (segundo_salida + duracion_segundos) % 60
if segundo_llegada > 59:
minuto_llegada = minuto_llegada + 1
if minuto_llegada > 59:
hora_llegada = hora_llegada + 1
if hora_llegada == 0 or hora_llegada > 23:
hora_llegada = hora_llegada - 24
return str(hora_llegada) + ":" + str(minuto_llegada) + ":" + str(segundo_llegada)
Valora esta pregunta


0