Python程式:將小時分鐘時間轉換為文字格式
假設我們有兩個輸入:小時和分鐘。我們需要以文字格式顯示時間。例如:
- 8:00 : 8點
- 8:01 : 八點過一分鐘
- 8:10 : 八點過十分鐘
- 8:15 : 八點一刻
- 8:30 : 八點半
- 8:40 : 九點差二十分鐘
- 8:45 : 九點差一刻
- 8:47 : 九點差十三分鐘
- 8:28 : 八點過二十分鐘
因此,如果輸入為 h = 9, m = 42,則輸出為十點差十八分鐘
為了解決這個問題,我們將遵循以下步驟:
- text:= 一個包含30個不同數值的文字列表,如下所示:["one", "two", "three", "four", "five", "six", "seven", "eight","nine","ten", "eleven", "twelve", "thirteen", "fourteen", "quarter", "sixteen","seventeen", "eighteen", "nineteen", "twenty", "twenty-one","twenty-two", "twenty-three", "twenty-four", "twenty-five","twenty-six", "twenty-seven", "twenty-eight", "twenty-nine", "half"]
- op:= 空字串
- 如果 m 等於 0,則
- op := text[h - 1] 連線 "點"
- 否則,如果 m 等於 30,則
- op := text[m - 1] 連線 "過" 連線 text[h - 1]
- 否則,如果 m 等於 1,則
- op := text[m - 1] 連線 "分鐘過" 連線 text[h - 1]
- 否則,如果 m 等於 15,則
- op := text[m - 1] 連線 "過" 連線 text[h - 1]
- 否則,如果 m - 30 不為零,則
- op := text[m - 1] 連線 "分鐘過" 連線 text[h - 1]
- 否則,如果 m 等於 45,則
- op := "差一刻到" 連線 text[h]
- 否則
- op := text[(60 - m) -1] 連線 "分鐘到" 連線 text[h]
- 返回 op
示例
讓我們看下面的實現來更好地理解:
def solve(h, m): text=["one", "two", "three", "four", "five", "six", "seven", "eight","nine","ten", "eleven", "twelve", "thirteen", "fourteen", "quarter", "sixteen","seventeen", "eighteen", "nineteen", "twenty", "twenty-one","twenty-two", "twenty-three", "twenty-four", "twentyfive"," twenty-six", "twenty-seven", "twenty-eight", "twenty-nine", "half"] op="" if (m == 0): op = text[h - 1] + " o' clock" elif (m == 30): op = text[m - 1]+ " past " + text[h - 1] elif (m == 1): op = text[m - 1] + " minute past " + text[h - 1] elif (m == 15): op = text[m - 1]+ " past " + text[h - 1] elif (m < 30): op = text[m - 1] + " minutes past " + text[h - 1] elif (m==45): op = "quarter to " + text[h] else: op = text[(60 - m)-1] + " minutes to " + text[h] return op h = 9 m = 42 print(solve(h, m))
輸入
9, 42
輸出
eighteen minutes to ten
廣告