简单数学,计算小时,分钟,秒钟的差之后 / 60即可得到秒钟转的圈数。
# 不保证time_1 < time_2,需要考虑隔天的情况
def calc_second (time_1 , time_2):
time_1 = time_1.split(":")
time_2 = time_2.split(":")
h1 , m1 , s1 = int(time_1[0]) , int(time_1[1]) , int(time_1[2])
h2 , m2 , s2 = int(time_2[0]) , int(time_2[1]) , int(time_2[2])
#考虑隔天的情况
if h1 > h2 or (h1 == h2 and m1 > m2) or (h1 == h2 and m1 == m2 and s1 > s2):
h2 += 24
second = (h2 - h1) * 3600 + (m2 - m1) * 60 + (s2 - s1)
return second
n = int(input())
time_arr = input().split()
res = []
for i in range(n - 1):
tmp = calc_second(time_arr[i] , time_arr[i + 1]) / 60
# 强制保留两位小数 , 不过的补0
res.append(f"{tmp:.2f}")
print(" ".join(map(str , res)))
小红的寝室里放着一个时钟。时钟有时针,分针,秒针三种指针。在某些时刻,时钟会记录下当前时间,格式为hh:mm:ss。时钟上看不出日期,每天零点,三根指针都会归零。现在小红得到了一系列被记录的时间,且这些时间是按照先后顺序被记录的。小红想让你算算,每两个时间点之间,秒针至少转了多少圈。 注:一天有24个小时,1小时有60分钟,1分钟有60秒,秒针一分钟转一圈。
第一行一个整数n(2≤n≤105),代表时间序列中时间点的个数。
第二行n个字符串,每个字符串代表一个时间点,格式为hh:mm:ss(0≤hh<24,0≤mm<60,0≤ss<60)。
n−1个数,第i个数表示第i~i+1时间点秒针转过的圈数。保留两位小数
输入
2
10:00:00 10:00:30
输出
0.50
说明
从10:00:00至10:00:30至少过了半分钟,秒针在时钟上走了半圈
输入
3
10:00:00 09:00:00 08:00:00
输出
1380.00 1380.00
说明
从10:00:00至09:00:00至少过了23小时,秒针在时钟上走了1380圈
从09:00:00至08:00:00至少过了23小时,秒针在时钟上走了1380圈
输入
2
00:00:00 00:00:00
输出
0.00