Browse Source

схлопываение. Не работает как планировалось

Выходные интервалы разной длины
master
Дмитрий 3 years ago
parent
commit
ecfef4fe38
  1. 28
      task_3.py

28
task_3.py

@ -92,10 +92,38 @@ def find_intersection(interval_A, interval_B) -> list:
return [interval_begin, interval_end] return [interval_begin, interval_end]
def enlarge_elapsed_intervals(intervals):
# ключ - начало, значние - конец. Если по ключу "начало" уже есть
# значение, то сохраняем max(существующее, новое)
beginnings = {interval[0]: interval[1] for interval in intervals}
endings = {interval[1]: interval[0] for interval in intervals}
for interval in intervals:
begin = interval[0]
end = interval[1]
beginnings[begin] = max(beginnings[begin], end)
endings[end] = min(endings[end], begin)
print(f"{beginnings=}")
print(f"{endings=}")
beginnings_list = list(beginnings.values())
endings_lsit = list(endings.values())
test = [
[endings_lsit[i], beginnings_list[i]] for i in range(len(beginnings_list) - 1)
]
return test
def appearance(intervals): def appearance(intervals):
lesson = intervals["lesson"] lesson = intervals["lesson"]
pupil = intervals["pupil"] pupil = intervals["pupil"]
tutor = intervals["tutor"] tutor = intervals["tutor"]
pupil2 = [pupil[i : i + 2] for i in range(0, len(pupil), 2)]
# print(f"{pupil2=}")
# pupil2 = enlarge_elapsed_intervals(pupil2)
enlarge_elapsed_intervals(test)
# получаем все интервалы студента на уроке # получаем все интервалы студента на уроке
pupil_on_lesson = [ pupil_on_lesson = [

Loading…
Cancel
Save