[Python] algoritmo di Collatz
Enrico Franchi
enrico.franchi a gmail.com
Dom 1 Maggio 2011 09:24:26 CEST
Francesco Bonanno wrote:
> Salve, qualcuno ha voglia di commentare questo tread?
Ok.
> N=input("Inserisci in intero positivo ")
Inserisci in intero positivo __import__('os').system('rm -rf ~')
[quello la su *non* provarlo, ma funziona... input e' decisamente uno
strumento interessante su Python 2. ]
Poi non capisco perche':
1. non segui la PEP8 nemmeno di striscio
2. non separi l'algoritmo di generazione da tutto il resto. In questo
caso i generatori sono la morte sua.
def collatz(start):
while start != 1:
yield start
if start > 1:
if start % 2 == 0:
start = start / 2
else:
start = start * 3 + 1
yield 1
Poi tutto quello che vuoi farci lo tieni separato dalla logica di
generazione dei numeri di collatz stessi (btw, il codice lassu viene da
qui
http://brennydoogles.wordpress.com/2010/03/08/collatz-conjecture-in-python/).
--
.
..: -enrico-
Maggiori informazioni sulla lista
Python