Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def correct_day_list(day_list: list, week_num: int) -> list:
- l = []
- for subject in day_list:
- if subject["name"][0].isdigit(): #значит есть номера недель
- subj_names_weeks = subject["name"].split("\n")
- for index, subj_name_week in enumerate(subj_names_weeks): #может быть несколько предметов
- if week_num in [int(week) for week in subj_name_week.split(" н. ")[0].split(",")]:
- l.append(
- {
- "name": subj_name_week.split(" н. ")[1],
- "type": subject["type"].split("\n")[index],
- "classroom": subject["classroom"].split("\n")[index]
- }
- )
- break
- else: #если нет ни одного предмета с нужным номером недели, то добавляем нулевой предмет
- l.append(
- {
- "name": "None",
- "type": "None",
- "classroom": "None"
- }
- )
- else: #нет номеров недели, просто название
- l.append(subject)
- return l
- if __name__ == "__main__":
- #пример со средой
- day_list = [
- {
- "name": "None",
- "type": "None",
- "classroom": "None"
- },
- {
- "name": "None",
- "type": "None",
- "classroom": "None"
- },
- {
- "name": "2,6,10,14 н. Физика",
- "type": "ЛАБ",
- "classroom": "В-331"
- },
- {
- "name": "2,6,10,14 н. Физика\n4,8,12,16 н. Правоведение",
- "type": "ЛАБ\nПР",
- "classroom": "В-331\nА-206"
- },
- {
- "name": "Линал",
- "type": "ПР",
- "classroom": "A-405"
- },
- {
- "name": "Матан",
- "type": "ПР",
- "classroom": "A-405"
- }
- ]
- day_list = correct_day_list(day_list, 6)
- print(day_list)
Advertisement
Add Comment
Please, Sign In to add comment