Credo che parte della programmazione risieda proprio in ciò.
Oltre ad esserci vari comandi che permettono di farsi un'idea della velocità del codice, anche nelle singole parti (
https://q2a.di.uniroma1.it/13056/avviso-software-installare-anaconda-librerie-comandi-utili?course=advices/fondamenti-di-programmazione-19-20 ), gli Homework sono fatti apposta per costringerci a "pensare".
Possiamo prendere la via semplice e riempire di If e di For, ma poi il codice è lento.
A quel punto entra in gioco ciò di cui ha bisogno un programmatore: la logica (oltre a StackOverflow, ovviamente).
Al posto di mettere 2 For, potrebbe esserci un modo che ci permette di usarne uno solo, o addirittura nessuno.
Questa è anche parte del motivo per cui negli esercizi per casa è presente la richiesta di fare gli esercizi in diverse varianti (con e senza range, for, while).
Ovviamente ci possono essere anche algoritmi già pronti o formule matematiche che generalizzano interi problemi, ma questa è più questione di esperienza.
Sicuramente la tua non è una pessima idea, ma il problema è come fare una lezione del genere.
Sia in laboratorio che a lezione vengono continuamente fatte prove con %timeit per mostrare la velocità delle diverse implementazioni, quindi se potessi essere leggermente più specifico non sarebbe male :)