Enunciado del problema
Preparar un código simple para evaluar o encontrar el tiempo final de un periodo de tiempo dado, expresándolo en horas y minutos. Las horas van de 0 a 23 y los minutes de 0 a 59. El resultado debe ser mostrado en la consola.Por ejemplo, si el evento comienza a las 12:17 y dura 59 minutos, terminará a las 13:16.
Pista: utilizar el operador % puede ser clave para resolver el ejercicio
Para resolver este problema debemos solicitar dos valores, la hora de inicio del evento y la duración para lo cuál usaremos el siguiente código:
startEvent = input("Ingrese hora de inicio del evento (hh:mm): \n")
durationEvent = input("Ingrese la duración del evento (hh:mm): \n")
Una vez que tenemos nuestros valores procedemos a realizar las siguientes acciones
- Recuperamos las horas y los minutos de la hora de inicio, haciendo un split del string ingresado y convirtiendo los valores en números
- Recuperamos las horas y los minutos de la duración del eventosiguiendo la misma lógica anterior
startHour, startMinute = [int(value) for value in startEvent.split(":")]
durationHour, durationMinute = [int(value) for value in durationEvent.split(":")]
Ahora con estos valores vamos a calcular la hora de finalización del evento para lo cual realizamos los siguientes pasos:
- Calculamos el total de minutos sumando los minutos del inicio del evento, más los minutos de la duración
- Validamos si la cantidad de minutos es mayor o igual que 60
- Si es mayor que 60 calculamos el total de horas sumando las horas de inicio del evento más las horas de la duración más 1 y calculamos la cantidad de minutos obteniendo el módulo en base 60 del total de minutos
- Si es menor que 60 calculamos el total de horas sumando las horas de inicio del evento más las horas de la duración
endMinutes = durationMinute + startMinute
if endMinutes>=60:
endHour = startHour + durationHour + 1
endMinutes = (endMinutes % 60)
else:
endHour = startHour + durationHour
De esta manera ya tendremos calculada la hora de finalización del evento y la podemos imprimir como se muestra:
print(f"La hora de fin es: {endHour}:{endMinutes}")
El ejemplo de la ejecución en la consola se vería así:
No hay comentarios.:
Publicar un comentario