十億秒

十億秒

簡單

簡介

我們測量時間的方式其實有點亂。 一分鐘有 60 秒,一小時有 60 分鐘。 這來自古巴比倫,他們以 60 作為數字系統的基礎。 一天有 24 小時,一週有 7 天,那一個月有幾天呢? 一個月有幾天,不只取決於是哪一個月,也取決於你住的國家使用哪一種曆法。

那如果我們改用秒來表示時間間隔呢? 這樣一來,我們就能用公制前綴,把大量的秒數寫成更容易理解的數量。

  • 食譜可能會寫著,布朗尼要放進烤箱烤兩千秒(也就是 2000 秒)。
  • 也許你和家人會去某個充滿異國風情的地方旅行兩百萬秒(也就是 2,000,000 秒)。
  • 而如果你和另一半結婚滿了_十億_秒,就能慶祝你們的第一個十億秒週年。
Note

如果我們哪天真在火星或其他星球上殖民,測量時間只會變得更麻煩。 如果有人說「一年」,指的是地球上的一年,還是火星上的一年?

這個練習的靈感來自 Vernor Vinge 的科幻小說 A Deepness in the Sky,作者在書中以公制作為時間測量的基礎。

說明

你的任務是判斷某個日期過了一個十億秒之後的日期和時間。

一個十億秒等於一千個百萬秒,也就是 1 後面加上九個零。

如果你出生於_2015 年 1 月 24 日 22:00(晚上 10:00:00)_,那麼你在_2046 年 10 月 2 日 23:46:40(晚上 11:46:40)_就滿一個十億秒了。

讀寫長數字

程式碼被_閱讀_的次數往往比被撰寫的次數多,而在一段文字中讀到又大又長的數字,可能是一大挑戰。 以下是兩種讓數字更好讀的方法:

  1. 在數值常值中使用底線。1_000_000比1000000更好讀,10_100_201_330也比10100201330更容易掃視。想了解更多資訊,請參閱 PEP-0515。

  2. 使用指數表示法或科學記號。緊接在整數後面的 e(或 E)字元,代表 e 前面的數字要乘以 10 的多少次方(也就是:1e6表示 1 乘以 10 的 6 次方,等於1000000)。想了解更多細節,請參考這份科學記號的說明。

Python 中的日期與時間

這個練習會探討 Python datetime模組中的物件:

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Python Exercism

準備好開始 十億秒 了嗎?

註冊 Exercism,透過 17 個概念146 個練習 和真人引導來學習並精通 Python,全部免費。