Strumenti Musicali

Stai sviluppando un'applicazione per gestire l'inventario degli strumenti di un'orchestra musicale. Devi modellare diversi tipi di strumenti musicali e le loro azioni.
Ti viene richiesto di creare una classe MusicInstrument che abbia due attributi: name e type. Questa classe deve anche avere un metodo play() che stampa "Playing the instrument".
Successivamente, crea una classe Guitar che eredita dalla classe MusicInstrument (la chitarra è di type String. Questo dovrebbe essere impostato automaticamente nell'__init__ di Guitar). Questa classe dovrebbe avere un metodo tune() che stampa "Tuning the guitar". Il metodo play() nella classe Guitar dovrebbe prima chiamare il metodo tune() e poi chiamare play() dalla classe genitore usando super().
Crea una classe Violin allo stesso modo della classe Guitar (anche il violino è di type String). Il metodo tune() dovrebbe stampare "Tuning the violin".
Infine, crea una classe Piano che eredita anch'essa dalla classe MusicInstrument (il pianoforte è di type Keyboard). La classe Piano dovrebbe sovrascrivere il metodo play(), ma non dovrebbe essere accordato quando viene suonato.
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
Nota: Gli attributi name e type dello strumento devono essere passati come parametri al costruttore della classe durante l'instanziazione. Il metodo play() dovrebbe essere chiamato senza alcun parametro.
 

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