Semplicemente nella definizione di programmazione strutturata si dice che il programma deve avere un solo inizio ed una sola fine, ovvero un return solo.
Questo per definizione, poi i linguaggi odierni ti permettono di andare anche oltre a tale definizione. In informatica spesso la definizione è una cosa, la realtà è un altra (perchè magari si è andata a modificare nel tempo).
Spesso l'idea di un solo return alla fine viene visto come una regla di buona programmazione per dare più leggibilità al codice, anche se si potrebbe dire che usare più punti di uscita potrebbe rendere più efficente il programma perchè non si vanno a controllare condizioni non più necessarie.
Secondo me, almeno in ambito accademico, sono da evitare a meno di validi motivi, proprio perchè vengono ritenuti come "cattiva programmazione". Tra l'altro andando a pensare nella maggior parte dei casi il guadagno effettivo di prestazioni non è nemmeno percepibile (dovresti avere migliaia di istruzioni sotto quel return per poter motivare il guadagno prestazionale).
Detto questo nella tua funzione credo sia abbastanza inutile, visto che o viene eseguito l'if o l'else, ergo potevi benissimo seguire le regole della programmazione strutturata. Poi a scuola bisogna essere anche un pò furbi, se la professoressa ti fa capire che per lei è importante farlo così, fallo così e amen.