Музыкальные инструменты

Вы разрабатываете приложение для управления инвентарем инструментов музыкального оркестра. Вам необходимо моделировать различные типы музыкальных инструментов и их действия.
Вам предложено создать класс MusicInstrument с двумя атрибутами: name и type. Этот класс также должен иметь метод play(), который выводит "Playing the instrument".
Затем создайте класс Guitar, который наследуется от MusicInstrument (у гитары type равен String. Это должно быть автоматически задано в __init__ класса Guitar). Этот класс должен иметь метод tune(), который выводит "Tuning the guitar". Метод play() в классе Guitar должен сначала вызывать метод tune(), а затем вызывать play() из родительского класса с помощью super().
Создайте класс Violin аналогично классу Guitar (у него тоже type равен String). Метод tune() должен выводить "Tuning the violin".
Наконец, создайте класс Piano, который также наследуется от MusicInstrument (пианино имеет type Keyboard). Класс Piano должен переопределить метод play(), но при игре его не нужно настраивать.
Input
Output
guitar = Guitar('Gibson'); violin = Violin('Stradivarius'); piano = Piano('Steinway'); guitar.play(); violin.play(); piano.play(); print(guitar.type); print(violin.type); print(piano.type)
Tuning the guitar Playing the instrument Tuning the violin Playing the instrument Playing the instrument String String Keyboard
Примечание: Атрибуты name и type инструмента должны передаваться в качестве параметров конструктору класса при создании экземпляра. Метод play() должен вызываться без каких-либо параметров.
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue