Python питон
 создайте класс melody, который будет моделировать процесс подбора мелодии. для этого нужно уметь: 
 преобразовывать мелодию в строку, записывая ноты через запятую, первая нота с заглавной буквы,
 добавлять ноту в конец уже имеющейся мелодии — метод append,
 заменять последнюю ноту другой — метод replace_last (без проверки её существования),
 удалять последнюю ноту — remove_last (также без проверки),
 начинать всё с начала (стирать все ноты) — метод clear,
 возвращать длину мелодии (количество нот в ней) при вызове функции len от неё,
 а также транспонировать всю мелодию вверх или вниз (сдвиги > > и < < ), если это удаётся сделать внутри одной октавы (без циклического сдвига), если же хотя бы одна нота выходит за пределы октавы, возвращать копию исходной мелодии.
 используйте те же константы, что и для предыдущей (тестирующая система будет импортировать их из вашего кода): 
 n = 7 
 pitches = ["до", "ре", "ми", "фа", "соль", "ля", "си"] 
 long_pitches = ["до-о", "ре-э", "ми-и", "фа-а", "со-оль", "ля-а", "си-и"] 
 intervals = ["прима", "секунда", "терция", "кварта", "квинта", "секста", "септима"]
 формат ввода
 каждый тест представляет собой код, в котором будут использоваться ваши классы.
 1 пример
 ввод
 from solution import (
 note, melody,
 n, pitches,
 long_pitches, intervals, 
 )
 melody = melody([note('фа'), note('ми'), note('ре'), note('до'), note('ля'
 print(melody)
 melody.replace_last(note('си', true))
 print(melody)
 melody.remove_last()
 print(melody)
 melody.append(note('соль', true))
 melody.append(note('соль', true))
 print(melody)
 вывод
 фа, ми, ре, до, ля
 фа, ми, ре, до, си-и
 фа, ми, ре, до
 фа, ми, ре, до, со-оль, со-оль
 2 пример
 ввод
 from solution import (
 note, melody,
 n, pitches,
 long_pitches, intervals, 
 )
 melody = melody([note('до'), note('ми'), note('соль', 
 print(melody, len(melody))
 print( len(
 melody.clear()
 print(melody, len(melody))
 вывод
 до, ми, со-оль 3
 0
 0
 3 пример
 ввод
 from solution import (
 note, melody,
 n, pitches,
 long_pitches,
 intervals
 )
 melody = melody([note('ля'), note('соль'), note('ми'), note('до', 
 print(melody)
 print(melody() > > 2)
 melody_up = melody > > 1
 melody_down = melody < < 1
 melody.replace_last(note('соль'))
 print('> > 1: ', melody_up)
 print('< < 1: ', melody_down)
 print(melody)
 вывод
 ля, соль, ми, до-о
 > > 1: си, ля, фа, ре-э
 < < 1: ля, соль, ми, до-о
 ля, соль, ми, соль