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

示例

让我们看下面的实现来更好地理解:

Open Compiler
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

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

输出

eighteen minutes to ten

更新于: 2021年10月7日

485 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告