On Mon, 02 May 2011 13:22:53 +0200, Francesco Bonanno <i...@francescobonanno.com> wrote:
> Ripongo la questione: nello script postato precedentemente c'è la mia > personale interpretazione di quello che credo sia l'algoritmo di > Collatz. Secondo Voi è corretta oppure aggiungereste/cambiereste qualcosa? > Faccio notare che per valori interi = a 8 o 18, viene sollevata una > eccezione (divisione per zero). L'algoritmo sembra sia giusto. C'è una divisione per zero perché tu chiedi di dividere per zero. Non fa parte dell'algoritmo, è solo il report finale. Semplicemente non farlo! :D Essere corretto e/o cambiare qualcosa dipende da cosa tu voglia farci. I numeri sono giusti, quello è ok. Per me per esempio ê superfluo calcolare h, npari, ndispari nell'algoritmo: puoi contare questi valori sulla lista finale. Enrico ha suggerito che i generatori sarebbero utili, e ti ha fatto notare che il tuo modo di leggere l'input è poco sicuro (a dir poco). Io tendo a fare i calcoli in una funzione e gestire I/O altrove. Se lo scopo di tutto era risolvere un problema del progetto Eulero, e se l'hai risolto, penso sia finita così. Il tuo programma non è modulare e ha un sacco di cose che un sacco di persone avrebbero fatto in un sacco di modi diversi... ma se non si conoscono i requisiti non si sa esattamente cosa "migliorare". -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python