python divmod用法,python内置函数divmod
今天在解一道代码战争的题目的时候,被返回除法的结果和余数的作用吸引到了。
题目是这样的:
编写一个函数,它接受一个非负整数(秒)作为输入
并以人类可读的格式(时:分:秒)返回时间
HH=小时,填充到2位数,范围:00 - 99
MM=分钟,填充到2位数,范围:00 - 59
SS=秒,填充到2位数,范围:00 - 59
最大时间永远不会超过359999 (99:59:59)
您可以在测试夹具中找到一些示例:
测试。assert _ equals(make _ readable(0), 00:00:00 )
测试。assert _ equals(make _ readable(5), 00:00:05 )
测试。assert _ equals(make _ readable(60), 00:01:00 )
测试。assert _ equals(make _ readable(86399), 23:59:59 )
测试。assert _ equals(make _ readable(359999), 99:59:59 )
就是按照输入的秒数,按照要求返回字符串。
我一开始陷入了错误的思路,想按范围判断,10秒以下的怎么输出,10秒以上的怎么输出,分钟和小时类似。要写一大堆的埃利夫。
实际上,只要使用02d就可以解决:
02d将整数(四)格式化为最小宽度为2 (2)的字段,
左边补零(前导0):
稍微易于理解的解法:
定义make_readable(秒):
分,秒=divmod(秒,60)
小时,分钟=divmod(分钟,60)
res=d:d:d %(时、分、秒)
返回资源
在提交之后,发现更简洁的解法:
def make_readable_best:
返回"{ 02 }:{:02 }:{:02 }"。格式(s/3600,s/60 % 60,s % 60)
真是受教颇深!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。