Wie wir die Zeit messen, ist ziemlich chaotisch. Eine Minute hat 60 Sekunden und eine Stunde 60 Minuten. Das stammt aus dem alten Babylon, wo die 60 die Grundlage des Zahlensystems war. Ein Tag hat 24 Stunden, eine Woche 7 Tage, und wie viele Tage hat ein Monat? Nun, die Anzahl der Tage in einem Monat hängt nicht nur davon ab, um welchen Monat es geht, sondern auch davon, welcher Kalendertyp in dem Land verwendet wird, in dem du lebst.
Was wäre, wenn wir stattdessen Zeitintervalle nur in Sekunden angeben würden? Dann könnten wir metrische Vorsätze verwenden, um große Sekundenzahlen in leichter verständlichen Größen zu schreiben.
Wenn wir jemals den Mars oder einen anderen Planeten besiedeln, wird das Messen der Zeit noch chaotischer. Wenn jemand „Jahr“ sagt, meint er dann ein Jahr auf der Erde oder ein Jahr auf dem Mars?
Die Idee für diese Übung stammt aus dem Science-Fiction-Roman "A Deepness in the Sky" des Autors Vernor Vinge. Darin verwendet der Autor das metrische System als Grundlage für Zeitmessungen.
Deine Aufgabe ist es, das Datum und die Uhrzeit eine Gigasekunde nach einem bestimmten Datum zu ermitteln.
Eine Gigasekunde sind eine Milliarde Sekunden. Das ist eine Eins mit neun Nullen.
Wenn du am 24. Januar 2015 um 22:00 Uhr geboren wärst, dann wärst du am 2. Oktober 2046 um 23:46:40 Uhr eine Gigasekunde alt.
Code wird häufiger gelesen als geschrieben, und eine große/lange Zahl mitten in anderem Text zu lesen, kann eine Herausforderung sein. Hier sind zwei Ansätze, wie du Zahlen lesbarer machen kannst:
Verwende Unterstriche in numerischen Literalen. 1_000_000 ist lesbarer als 1000000, und 10_100_201_330 lässt sich leichter überfliegen als 10100201330. Weitere Informationen findest du in PEP-0515.
Verwende die Exponentialschreibweise oder die wissenschaftliche Notation. Das Zeichen e (oder E), gefolgt von einer Ganzzahl, steht für die Zehnerpotenz, mit der die Zahl vor dem e multipliziert werden muss (d. h.: 1e6, 1 wird mit 10 hoch 6 multipliziert, was 1000000 ergibt). Weitere Details findest du in dieser Referenz zur wissenschaftlichen Notation.
Diese Übung beschäftigt sich mit Objekten aus dem datetime-Modul von Python:
Melde dich bei Exercism an, um Python mit 17 Konzepte146 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.