Python - Ayuda con el siguiente problema por favor

 
Vista:

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
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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ayuda con el siguiente problema por favor

Publicado por tincopasan (1082 intervenciones) el 20/11/2021 09:37:02
la verdad es que me distraen tantas operaciones ¿es obligatorio hacerlo así?
sino:
1
2
3
4
5
6
7
8
9
10
11
#-*- coding: utf  -8 -*-
 
def calcular_horario_llegada(hora_salida,minuto_salida,segundo_salida,duracion_horas,duracion_minutos,duracion_segundos):
    minutos,segundos = divmod(segundo_salida+duracion_segundos,60)
    horas,minutos = divmod(minutos+minuto_salida+duracion_minutos,60)
    horas +=  hora_salida + duracion_horas
    if horas > 24:horas -= 24
    return f"{horas} : {minutos} : {segundos}"
 
print(calcular_horario_llegada(7,3,58,0,24,33))
print(calcular_horario_llegada(7,3,58,12,24,33))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

Ayuda con el siguiente problema por favor

Publicado por Miguel Cardona (1 intervención) el 13/09/2022 22:41:26
Excelente Profesor: Siempre acertado. Muchas gracias por su ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con el siguiente problema por favor

Publicado por MAURICIO (2 intervenciones) el 23/04/2023 16:06:02
Aqui lo tienes para que lo puedas testear.

def calcular_horario_llegada(hora_salida,minutos_salida,segundos_salida,hora_duracion,minutos_duracion,segundos_duracion):

hora_llegada = hora_salida + hora_duracion
minutos_llegada = minutos_salida + minutos_duracion
segundos_llegada = segundos_salida + segundos_duracion

if segundos_llegada >= 60:
segundos_llegada = segundos_llegada - 60
minutos_llegada+=1


if minutos_llegada >= 60:
minutos_llegada = minutos_llegada - 60
hora_llegada +=1


if hora_llegada >= 24:
hora_llegada = hora_llegada - 24


tiempo_llegada = f"{hora_llegada}:{minutos_llegada}:{segundos_llegada}"

print (tiempo_llegada)
return tiempo_llegada



calcular_horario_llegada(7,3,58,0,24,33)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con el siguiente problema por favor

Publicado por LinaZamSa (1 intervención) el 26/05/2022 23:49:03
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 = (hora_salida + duracion_horas)*3600
minuto_llegada = (minuto_salida + duracion_minutos)*60
segundo_llegada = (segundo_salida + duracion_segundos)

if segundo_llegada > 59:
minuto_llegada = minuto_llegada + 60
segundo_llegada = segundo_llegada - 60

if minuto_llegada > 3599:
hora_llegada = hora_llegada + 3600
minuto_llegada = minuto_llegada - 3600

if hora_llegada == 0 or hora_llegada > 86399:
hora_llegada = hora_llegada - 86400

hf = int(hora_llegada/3600)
mf = int(minuto_llegada/60)

return (str(hf)+":"+str(mf)+":"+str(segundo_llegada))

print ("La hora de llegada de su vuelo es: ", calcular_horario_llegada(hora_salida, minuto_salida, segundo_salida, duracion_horas, duracion_minutos, duracion_segundos))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda

Publicado por JOHNNY ALEXIS (1 intervención) el 04/06/2023 14:59:50
Saludos alguien me puede sugerir un programa aue recoja un grupo de pdf y para hacerles consulta mediante un chatbox. Esto seria para cargar leyes, libros pdf entre otros materiales. La idea principal es pedir analisis, resumenes, comparaciones. Estilo Chatpdf, pero aue reuna toda la informacion para que interactue con ellas. Si no existe este programa, me gustaria que alguien me contactara para que nos pongamos de acuerdo y lo desarrolle. Gracia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar