Grazie della risposta... L'unico un'alternativa all'approccio era il seguente..
def MaxPrimo(n): trovato=False i=n//2 + 1 while trovato==False: if primo(i)==True and n%i==0: trovato=True break i-=1 return i Ma non cambia niente... :( .. un aiutino / indizio?! Il giorno 07 ottobre 2009 11.58, Marco Beri <marcob...@gmail.com> ha scritto: > 2009/10/7 Nicola Ferrari <nick.fe...@gmail.com> > > Per prendere il massimo faccio max(ListaPrimi(numero)) >> Ho provato con vari esempi (anche con il numero 13195) e funziona... >> >> Se provo con il numero richiesto, python non mi risponde più.. come mai? >> Inoltre.. ho provato a fare un "return max(lista_primi)" all'interno della >> funzione, ma mi da errore >> > "Traceback (most recent call last): >> File "<stdin>", line 1, in <module> >> File "<stdin>", line 9, in ListaPrimi >> TypeError: 'int' object is not callable >> " >> Dove Sbaglio?!? >> > > Dunque, sbagli in due punti: > 1) il tuo codice è probabilmente corretto ma non è l'approccio giusto. Hai > visto quanto è grande il numero di cui è richiesto il massimo fattore? > Python ti risponderebbe anche, ma in qualche anno :-) > > 2) se chiami una variabile "max" poi nascondi la funzione con lo stesso > nome, da qui l'errore del tuo secondo tentativo. Chiama la variabile > max_factor (tra parentesi il massimo fattore da controllare è la radice > quadrata e non n//2). > > Ciao. > Marco. > > -- > http://thinkcode.tv - Prossimamente su questi schermi > http://beri.it - Blog di una testina di vitello > http://stacktrace.it - Aperiodico di resistenza informatica > > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > > -- Nicola Ferrari website: http://www.nicolaferrari.name skype: nick.ferro
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python