Ciao a tutti.<br>Mi sto avvicinando al Python e su consiglio di Daniele, sto cercando di fare con Python i "problemi"<br>di eulero.. uno di questi lo trovate qui <a href="http://projecteuler.net/index.php?section=problems&id=3">http://projecteuler.net/index.php?section=problems&id=3</a><br>
<br>Per risolverlo ho creato una funzione che mi indica se un numero è primo <br><br><b>def primo(x):<br> primo = True<br> i = 2<br> while i < x and primo:<br> j = x/i<br> j = x-(j*i)<br> if j == 0:<br> primo = False<br>
else:<br> i += 1<br> return primo</b><br><br>e infine una funzione che mi dia la lista dei numeri primi <br><br><b>def ListaPrimi(n):<br> i=1<br> lista_primi=[]<br> max = n//2 + 1<br> while i<=max:<br>
if primo(i)==True and n%i==0:<br> lista_primi.append(i) <br> i+=1<br> return lista_primi</b><br><br>Per prendere il massimo faccio max(ListaPrimi(numero))<br>
Ho provato con vari esempi (anche con il numero 13195) e funziona...<br><br>Se provo con il numero richiesto, python non mi risponde più.. come mai?<br>Inoltre.. ho provato a fare un "return max(lista_primi)" all'interno della funzione, ma mi da errore<br>
<br>"Traceback (most recent call last):<br> File "<stdin>", line 1, in <module><br> File "<stdin>", line 9, in ListaPrimi<br>TypeError: 'int' object is not callable<br>
"<br><br>Dove Sbaglio?!?<br><br><br clear="all"><br><br><br>