Il modo in cui misuriamo il tempo è piuttosto caotico. In un minuto ci sono 60 secondi e in un'ora 60 minuti. Questo viene dall'antica Babilonia, dove il 60 era la base del loro sistema di numerazione. In un giorno ci sono 24 ore, in una settimana 7 giorni, e quanti giorni ci sono in un mese? Beh, il numero di giorni di un mese dipende non solo da quale mese è, ma anche dal tipo di calendario che si usa nel paese in cui vivi.
E se invece usassimo solo i secondi per esprimere gli intervalli di tempo? Allora potremmo usare i prefissi del sistema metrico per scrivere grandi numeri di secondi in quantità più facilmente comprensibili.
Se un giorno colonizzeremo Marte o qualche altro pianeta, misurare il tempo diventerà ancora più complicato. Se qualcuno dice «anno», intende un anno sulla Terra o un anno su Marte?
L'idea per questo esercizio viene dal romanzo di fantascienza "A Deepness in the Sky" dell'autore Vernor Vinge. Al suo interno, l'autore usa il sistema metrico come base per misurare il tempo.
Il tuo compito sarà determinare la data e l'ora di un gigasecondo dopo una certa data.
Un gigasecondo è mille milioni di secondi. Cioè un uno seguito da nove zeri.
Se sei nato il 24 gennaio 2015 alle 22:00 (le 10:00:00 di sera), allora il 2 ottobre 2046 alle 23:46:40 (le 11:46:40 di sera) avresti un gigasecondo di vita.
Il codice viene più spesso letto che scritto, e leggere un numero grande o lungo all'interno di un altro testo può essere una sfida. Ecco due approcci per rendere i numeri più leggibili:
Usare gli underscore nei letterali numerici. 1_000_000 è più leggibile di 1000000, e 10_100_201_330 è più facile da scorrere di 10100201330. Per maggiori informazioni, vedi PEP-0515.
Usare la notazione esponenziale o la notazione scientifica. Il carattere e (o E) seguito da un numero intero rappresenta la potenza di 10 per cui va moltiplicato il numero che precede la e (cioè: 1e6, 1 va moltiplicato per 10 elevato alla potenza di 6, che equivale a 1000000). Per maggiori dettagli, dai un'occhiata a questo riferimento sulla notazione scientifica.
In questo esercizio esploreremo gli oggetti del modulo datetime di Python:
Iscriviti a Exercism per imparare e padroneggiare Python con 17 concetti146 esercizi e il mentoring di persone reali, tutto gratis.