Salut ! 
Alors, comme l'indique le titre, je souhaiterais pouvoir réaliser une simplification de racine carré en Python.
J'ai déjà fait un programme qui fonctionne plus ou moins 
from math import *
carre=[4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400]
nb=int(input("Entrez un nombre entier à mettre sous racine : "))
sort=[] #liste des carrés qui vont être sorti de la racine.
i=0 #compteur pour avancer dans la liste
n=carre[i]
while n < int(sqrt(nb)): #inutile d'aller au delà de la racine du nombre de départ dans la liste de carrés...
if nb%carre[i] == 0 :
sort.append(carre[i])
nb//=carre[i]
else :
i+=1
ext=1
for loop in range (len(sort)):
ext*=int(sqrt(sort[loop]))
print(ext,"√(",nb,")")
Exemples de résultats :
- Une seule valeur dans la liste "sort[]"
http://i.gyazo.com/dc4f1b774462e64e37b3bc5d58ce1205.png
Correct
- Deux valeurs dans le liste "sort[]"
http://i.gyazo.com/4f8d1aac6d440de5be247057b81ec997.png
Correct
http://i.gyazo.com/6f131da6189e49604a6a7a8b82464d67.png
Incorrect... Ça fait 2.
http://i.gyazo.com/4faad5c70188e1c36ed285ce3d94851b.png
Erreur ? La liste n'est pourtant pas dépassée, et il y a bien une simplification possible : ça fait 2√(22)
J'utilise ce site pour voir les vrais résultats que je devrais avoir :
http://www.dcode.fr/racine-carree
Mais j'avoue que là je bloque....
Si vous pouviez m'aider à améliorer mon programme !
