@khusnullin665

Как разделить текст по ключевым словам в Python?

Есть текст(в виде школьного расписания со временем, датой и тд), все идет непрерывно. Блок каждого дня начинается с дня недели.
Выглядит так:
понедельник   06.04
1. Биология
08:30 - 09:15
§48 читать https://www.yaklass.ru/TestWork/Join/KpW_hjtmxUKmI...
Необходимо пройти тест
«Строение нервной системы и её значение»
2. Русский язык
09:25 - 10:10
выписать таблицу стр186, упр.335
5
3. Физика
10:25 - 11:10
Повторить формулы и определения.
3
5
4. Физическая культура
11:25 - 12:10
Прыжки через скакалку
5. Алгебра
12:25 - 13:10
выполнить № 814, 816, выучить таблицу
4
6. Химия
13:25 - 14:10
решить 2 вариант
5
7. Литература
14:20 - 15:05
читать стр.123-130
вторник   07.04
1. Русский язык
08:30 - 09:15
упр.341
Файлы от учителя
обособл.8кл
2. Русский язык
09:25 - 10:10
упр.341
Файлы от учителя
обособл.8кл
4
3. Второй иностранный язык(немецкий)
10:25 - 11:10
упр.4-5 стр.49 по РТ
4. История
11:25 - 12:10
прочитать дополнительный материал о дворцовых переворотах в России
5. Алгебра
12:25 - 13:10
изучить презентацию, выполнить № 835, 840, 844(д-ж), 849(ж-и)
Файлы от учителя
reshenie_neravenstv_s_odnoy_peremennoy.
 Прикрепить выполненное задание
4
6. География
13:25 - 14:10
прочитать и подготовить пересказ параграфа 49,50.
 Прикрепить выполненное задание
5


Как разделить текст, чтобы блок каждого дня недели был переменной?
В Python только начал писать, поэтому не оч понимаю некоторые моменты, в google ничего подобного не нашел.
P.S. еще нужно после домашнего задания написать "Оценка:", может есть мысли?
  • Вопрос задан
  • 328 просмотров
Пригласить эксперта
Ответы на вопрос 1
Если я правильно понял твою цель.
Задача решается и без регекспов в несколько строчек.
Способ 1: -создай словарь и положи в него всё, что нужно.
Вместо точек остальные дни.
shedict = {"понедельник":[],"вторник":[], ..., "суббота":[], "воскресенье":[]}
for i in range(len(text)):                #text -> список строк из расписания.
    if text[i].split()[0] in shedict:
        key = text[i].split()[0]
        continue
    else:
        shedict[key].append(text[i])
print(*shedict['понедельник'], sep='\n')    #Выведет расписание на понедельник

Если захочется чистых глобальных переменных, то используй globals().
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы