大家好,我是爱分享的小蓝,欢迎交流指正~
传送门:蓝桥杯2021年第十二届省赛真题-时间显示 - C语言网
1 真题
2 解析
难度系数:⭐⭐
考察题型:时间
涉及知识点:时间模块
思路分析:
如果你知道下面这2个时间函数,代码简单到可以3行搞定(^∀^●)ノシ
先转换成时间对象格式,再转换成可读字符串格式。
time.gmtime() #转换为time.struct_time类型的时间对象的秒数
time.asctime() #返回一个可读形式的字符串 Tue Feb 17 09:42:58 2009
3 代码
时间模块版
import time
n=int(input())
print(time.asctime(time.gmtime(n//1000))[11:19])
#测试案例 n=46800999
#n//1000 ms->s 毫秒格式转化为秒
#time.gmtime(n//1000) = time.struct_time(···tm_hour=13, tm_min=0, tm_sec=0···)
#time.asctime(time.gmtime(n//1000)) = Thu Jan 1 13:00:00 1970
底层代码版
n=int(input()) #初始化输入毫秒数据 n=1618708103123 ms
n//=1000 #单位毫秒转化为秒ms->sec: 1618708103s
n%=24*60*60 #整除掉完整的一天秒数,留下一天内的秒数 4103s
sec=n%60 #同上句一样,以60s为一个标准分钟,留下多余的23s
n//=60 #单位秒转化为分钟sec->min: 68min
minute=n%60 #同理可得:以一个小时为基准,留下多余的8min
hour=n//60 #单位秒转化为分钟min->hour:1h
print("{:02d}:{:02d}:{:02d}".format(hour,minute,sec))#01:08:23
format传送门:Python之format用法详解_全 洛的博客-CSDN博客_python语言format用法
读码上万行,下键如有神,撸起袖子加油干!