Tracks
/
Python
Python
/
Ejercicios
/
Gigasegundo
Gigasegundo

Gigasegundo

Fácil

Introducción

La manera en que medimos el tiempo es un poco enredada. Tenemos 60 segundos en un minuto y 60 minutos en una hora. Esto viene de la antigua Babilonia, donde usaban el 60 como base de su sistema numérico. Tenemos 24 horas en un día, 7 días en una semana, ¿y cuántos días en un mes? Bueno, los días de un mes dependen no solo de qué mes sea, sino también del tipo de calendario que se use en el país donde vives.

¿Y si, en cambio, solo usáramos segundos para expresar intervalos de tiempo? Entonces podríamos usar los prefijos del sistema métrico para escribir grandes cantidades de segundos en cantidades más fáciles de comprender.

  • Una receta de cocina podría explicarte que debes dejar los brownies en el horno durante dos kilosegundos (es decir, dos mil segundos).
  • Quizá tú y tu familia viajarían a algún lugar exótico durante dos megasegundos (es decir, dos millones de segundos).
  • Y si tú y tu pareja estuvieran casados desde hace mil millones de segundos, celebrarían su aniversario de un gigasegundo.
Note

Si algún día colonizamos Marte o algún otro planeta, medir el tiempo va a ser aún más enredado. Si alguien dice «año», ¿se refiere a un año en la Tierra o a un año en Marte?

La idea de este ejercicio surgió de la novela de ciencia ficción «A Deepness in the Sky», del autor Vernor Vinge. En ella, el autor usa el sistema métrico como base para medir el tiempo.

Instrucciones

Tu tarea es determinar la fecha y la hora un gigasegundo después de una fecha determinada.

Un gigasegundo equivale a mil millones de segundos. Es decir, un uno seguido de nueve ceros.

Si nacieras el 24 de enero de 2015 a las 22:00 (10:00:00 p. m.), entonces cumplirías un gigasegundo el 2 de octubre de 2046 a las 23:46:40 (11:46:40 p. m.).

Leer y escribir números largos

El código se lee con más frecuencia de la que se escribe, y leer un número grande o largo dentro de otro texto puede ser todo un reto. Aquí tienes dos enfoques para que los números sean más legibles:

  1. Usar guiones bajos en los literales numéricos. 1_000_000 es más legible que 1000000, y 10_100_201_330 es más fácil de recorrer con la vista que 10100201330. Para más información, consulta PEP-0515.

  2. Usar notación exponencial o notación científica. El carácter e (o E) seguido de un número entero representa la potencia de 10 por la que se debe multiplicar el número que precede a la e (es decir: 1e6, 1 se multiplica por 10 elevado a la potencia de 6, lo que da 1000000). Para más detalles, revisa esta referencia sobre la notación científica.

Fechas y horas en Python

Este ejercicio explora objetos del módulo datetime de Python:

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Python Exercism

¿Todo listo para empezar Gigasegundo?

Regístrate en Exercism para aprender y dominar Python con 17 conceptos146 ejercicios y mentoría humana real, todo gratis.