я указал сначала диапазон, а затем второй, сколько входных данных требуется, поэтому мне нужно некоторое разностное время, которое не может быть точной разницей, иногда точная разница иногда не
import datetime
def convert(seconds):
seconds = seconds % (24 * 3600)
hour = seconds // 3600
seconds %= 3600
minutes = seconds // 60
seconds %= 60
return "%d:%02d:%02d" % (hour, minutes, seconds)
def validate(timeList):
# timeList = ['0:00:00', '0:00:15', '9:30:56']
totalSecs = 0
for tm in timeList:
timeParts = [int(s) for s in tm.split(':')]
totalSecs+=(timeParts[0]*60+timeParts[1])*60 +timeParts[2]
totalSecs, sec = divmod(totalSecs, 60)
hr, min = divmod(totalSecs, 60)
return "%d:%02d:%02d" % (hr, min, sec)
format = '%H:%M:%S'
n = int(input())
diff_list = [[] for i in range(n)]
for i in range(n):
m = int(input())
for j in range(m):
start,end = map(str, input().split(" "))
if start.startswith('24:'):
start = start.replace('24:00', '0:00')
if end.startswith('24:'):
end = end.replace('24:00', '0:00')
startDateTime = datetime.datetime.strptime(start, format)
endDateTime = datetime.datetime.strptime(end, format)
diff = endDateTime -startDateTime
diff = convert(diff.total_seconds())
diff_list[i].append(diff)
for timedata_list in diff_list:
result = validate(timedata_list)
print(result)
Здесь яМне дан этот ввод: -
1
3
07:00:00 09:30:00 09:00:00 10:30:00 11:00:00 11: 30: 00
Мой вывод: -
4: 30: 00
Ввод: -
3
3
07:00:00 09: 30: 00
09:00:00 10: 30: 00
11:00:00 11: 30: 00
1
00:00:00 24:00:00 8
18:30:00 21: 30: 00
07:00:00 23: 00: 00
14:30:00 22: 00: 00
01:30:00 11: 30: 00
07:30:00 13: 00: 00
22:30:00 23: 30: 00
17:30:00 18: 00: 00
01:00:00 02:30:00
ожидаемый результат: -
04: 00: 00
24: 00: 00
22: 30: 00