你的朋友 Yaʻqūb 在鎮上最忙碌的熟食店櫃檯工作,為絡繹不絕、餓著肚子的客人切片、秤重、包裝。 為了讓流程順暢,每位客人抵達時都會拿一張號碼牌。
輪到叫下一位客人時,Yaʻqūb 會大聲唸出他們的號碼,而且總是用完整的英文單字,確保每個人都聽得清楚。
給定一個數字,你的任務是用英文單字將它表達出來,而且必須和你朋友大聲說出來的一模一樣。 Yaʻqūb 預期會用到從 0 到 999,999,999,999 的數字。
範例:
有時你需要引發例外。這麼做時,你應該一律加上有意義的錯誤訊息,指出錯誤的來源。這能讓程式碼更容易閱讀,也對除錯很有幫助。如果你知道錯誤來源屬於某種特定型別,可以選擇引發其中一種內建錯誤型別,但仍然應該加上有意義的訊息。
這個練習要求你在 say() 的數字輸入超出範圍時,使用 raise 敘述「拋出」ValueError。只有當你同時 raise 這個 exception 並附上訊息時,測試才會通過。
若要引發帶有訊息的 ValueError,請把訊息寫成 exception 型別的引數:
# if the number is negative
raise ValueError("input out of range")
# if the number is larger than 999,999,999,999
raise ValueError("input out of range")