Те, як ми вимірюємо час, досить заплутано. У хвилині 60 секунд, а в годині 60 хвилин. Це прийшло з давнього Вавилону, де число 60 було основою їхньої системи числення. У добі 24 години, у тижні 7 днів, а скільки днів у місяці? Що ж, кількість днів у місяці залежить не лише від того, який це місяць, а й від того, який тип календаря використовують у країні, де ми живемо.
А що, якби для вираження часових проміжків ми використовували лише секунди? Тоді ми могли б застосовувати префікси метричної системи, щоб записувати великі числа секунд у легших для сприйняття величинах.
Якщо ми колись колонізуємо Марс чи якусь іншу планету, вимірювання часу стане ще заплутанішим. Коли хтось каже «рік», то має на увазі рік на Землі чи рік на Марсі?
Ідея цієї вправи походить із науково-фантастичного роману "A Deepness in the Sky" автора Вернора Вінґа. У ньому автор використовує метричну систему як основу для вимірювання часу.
Визначте дату й час через один гігасекунд після певної дати.
Гігасекунда - це тисяча мільйонів секунд. Інакше кажучи, це одиниця з девʼятьма нулями після неї.
Якби ми народилися 24 січня 2015 року о 22:00 (10:00:00pm), то 2 жовтня 2046 року о 23:46:40 (11:46:40pm) нам виповнився б один гігасекунд.
Код частіше читають, ніж пишуть, а читати велике чи довге число посеред іншого тексту буває непросто. Ось два підходи, які роблять числа зручнішими для читання:
Використання підкреслень у числових літералах. 1_000_000 читається краще, ніж 1000000, а 10_100_201_330 легше проглянути, ніж 10100201330. Докладніше див. PEP-0515.
Використання експоненційної, або наукової, нотації. Символ e (або E), за яким іде ціле число, позначає степінь 10, на який слід помножити число перед e (тобто: 1e6, 1 множиться на 10 у шостому степені, що дорівнює 1000000). Щоб дізнатися більше, загляньте до цього довідника зі наукової нотації.
Ця вправа досліджує обʼєкти з модуля datetime у Python:
Зареєструйтеся на Exercism, щоб вивчати й опановувати Python, а також 17 концепцій146 вправ та справжнє наставництво від людей, і все це безкоштовно.