JOHNYTHEWINNER

Hdjdk

Oct 14th, 2023
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.25 KB | None | 0 0
  1. def add_lesson(list_of_lessons, title):
  2.     if title not in list_of_lessons:
  3.         list_of_lessons.append(title)
  4.     return list_of_lessons
  5.  
  6.  
  7. def insert_lesson(list_of_lessons, title, index):
  8.     if title not in list_of_lessons:
  9.         list_of_lessons.insert(index, title)
  10.     return list_of_lessons
  11.  
  12.  
  13. def remove_lesson(list_of_lessons, title):
  14.     if title in list_of_lessons:
  15.         title_index = list_of_lessons.index(title)
  16.         if title_index + 1 in range(len(list_of_lessons)):
  17.             if "Exercise" in list_of_lessons[title_index + 1]:
  18.                 list_of_lessons.pop(title_index + 1)
  19.         list_of_lessons.remove(title)
  20.     return list_of_lessons
  21.  
  22.  
  23. def swap_lessons(list_of_lessons, first_lesson, second_lesson):
  24.     if first_lesson in list_of_lessons and second_lesson in list_of_lessons:
  25.         first_position = list_of_lessons.index(first_lesson)
  26.         second_position = list_of_lessons.index(second_lesson)
  27.         first_has_exercise = False
  28.         second_has_exercise = False
  29.         if first_position + 1 in range(len(list_of_lessons)):
  30.             first_has_exercise = "Exercise" in list_of_lessons[first_position + 1]
  31.         if second_position + 1 in range(len(list_of_lessons)):
  32.             second_has_exercise = "Exercise" in list_of_lessons[second_position + 1]
  33.         list_of_lessons[first_position], list_of_lessons[second_position] = \
  34.             list_of_lessons[second_position], list_of_lessons[first_position]
  35.         if first_has_exercise and second_has_exercise:
  36.             list_of_lessons[first_position + 1], list_of_lessons[second_position + 1] = \
  37.                 list_of_lessons[second_position + 1], list_of_lessons[first_position + 1]
  38.         elif not first_has_exercise and second_has_exercise:
  39.             list_of_lessons.insert(first_position + 1, list_of_lessons.pop(second_position + 1))
  40.         elif first_has_exercise and not second_has_exercise:
  41.             list_of_lessons.insert(second_position + 1, list_of_lessons.pop(first_position + 1))
  42.     return list_of_lessons
  43.  
  44.  
  45. def exercise(list_of_lessons, title):
  46.     if title in list_of_lessons and f"{title}-Exercise" not in list_of_lessons:
  47.         lesson_index = list_of_lessons.index(title)
  48.         list_of_lessons.insert(lesson_index + 1, f"{title}-Exercise")
  49.     elif title not in list_of_lessons:
  50.         list_of_lessons.append(title)
  51.         list_of_lessons.append(f"{title}-Exercise")
  52.     return list_of_lessons
  53.  
  54.  
  55. lessons = input().split(", ")
  56. command = input().split(":")
  57. while len(command) > 1:  # while command[0] != "course start"
  58.     action = command[0]
  59.     lesson_title = command[1]
  60.     if len(command) > 2:
  61.         lesson_title_or_index = command[2]
  62.     if action == "Add":
  63.         lessons = add_lesson(lessons, lesson_title)
  64.     elif action == "Insert":
  65.         lessons = insert_lesson(lessons, lesson_title, int(lesson_title_or_index))
  66.     elif action == "Remove":
  67.         lessons = remove_lesson(lessons, lesson_title)
  68.     elif action == "Swap":
  69.         lessons = swap_lessons(lessons, lesson_title, lesson_title_or_index)
  70.     elif action == "Exercise":
  71.         lessons = exercise(lessons, lesson_title)
  72.     command = input().split(":")
  73. for index, lesson_name in enumerate(lessons):
  74.     print(f"{index + 1}.{lesson_name}")
Add Comment
Please, Sign In to add comment