Human Readable Time-人类可读时间

我的个人博客

更多内容,请跳转我的个人博客

题目

Human Readable Time

人类可读时间

描述

Write a function, which takes a non-negative integer (seconds) as input and returns the time in a human-readable format (HH:MM:SS)

编写一个函数,以非负整数(秒)作为输入,并以可读格式(HH:MM:SS)返回时间

  • HH = hours, padded to 2 digits, range: 00 - 99

  • MM = minutes, padded to 2 digits, range: 00 - 59

  • SS = seconds, padded to 2 digits, range: 00 - 59

  • The maximum time never exceeds 359999 (99:59:59)

  • HH=小时,填充到2位数,范围:00-99

  • MM=分钟,填充为2位数字,范围:00-59

  • SS=秒,填充为2位,范围:00-59

  • 最长时间从不超过359999(99:59:59)

例子

test.assert_equals(make_readable(0), "00:00:00")
test.assert_equals(make_readable(5), "00:00:05")
test.assert_equals(make_readable(60), "00:01:00")
test.assert_equals(make_readable(86399), "23:59:59")
test.assert_equals(make_readable(359999), "99:59:59")

思路

这题其实看下来非常简单,分成三个部分处理即可,注意范围以及补零即可,为了方便结果的整合,我们从时钟开始,然后是分钟,再就是秒,其实三个处理方法都是类似,差别很细微

  • 时钟
# 保存结果
result = ""
# 小时
# 得到小时的时间
temp = str(seconds // 3600)
# 如果大于99,就按99算,注意加":"
if len(temp) > 2:
    result += "99:"
# 当只有个位时,注意补零
elif 0 < len(temp) < 2:
    result += "0" + temp + ":"
# 如果是0,直接补零即可
elif temp == "0":
    result += "00:"
# 两位,直接保存即可
else:
    result += temp + ":"
# 去掉小时的时间
seconds = seconds % 3600
  • 分钟
# 分钟
temp = str(seconds // 60)
if len(temp) > 2:
    result += "59:"
elif 0 < len(temp) < 2:
    result += "0" + temp + ":"
elif temp == "0":
    result += "00:"
else:
    result += temp + ":"
seconds = seconds % 60
# 秒
temp = str(seconds)
if len(temp) > 2:
    result += "59"
elif 0 < len(temp) < 2:
    result += "0" + temp
elif temp == "0":
    result += "00"
else:
    result += temp

完整代码

def make_readable(seconds):
    # Do something
    # 保存结果
    result = ""
    # 小时
    # 得到小时的时间
    temp = str(seconds // 3600)
    # 如果大于99,就按99算,注意加":"
    if len(temp) > 2:
        result += "99:"
    # 当只有个位时,注意补零
    elif 0 < len(temp) < 2:
        result += "0" + temp + ":"
    # 如果是0,直接补零即可
    elif temp == "0":
        result += "00:"
    # 两位,直接保存即可
    else:
        result += temp + ":"
    # 去掉小时的时间
    seconds = seconds % 3600

    # 分钟
    temp = str(seconds // 60)
    if len(temp) > 2:
        result += "59:"
    elif 0 < len(temp) < 2:
        result += "0" + temp + ":"
    elif temp == "0":
        result += "00:"
    else:
        result += temp + ":"
    seconds = seconds % 60

    # 秒
    temp = str(seconds)
    if len(temp) > 2:
        result += "59"
    elif 0 < len(temp) < 2:
        result += "0" + temp
    elif temp == "0":
        result += "00"
    else:
        result += temp

    return result
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值