Ringrazio per i suggerimenti ma gli if eccetera erano più per aiutarmi a capire quello che stavo facendo (ho cercato di scrivere il codice come se stessi spiegando le definizioni ad una persona.... per capire meglio anche io l'argomento).
In ogni caso rimarrebbero aperte le questioni che avevo posto inizialmente, ovvero le funzioni non ancora implementante o non funzionanti.
grazie mille