4 pièce(s) jointe(s)
Simplification de racine carré
Salut ! :D
Je me considère encore comme un petit débutant en Python, et 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 :mouarf:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 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,")") |
Bon on dirait que la balise CODE du site ne reconnaît pas mon symbole... A la ligne 22 c'est un simple symbole de racine carré ^^
Exemples de résultats :
Une seule valeur dans la liste "sort[]"
Pièce jointe 172762
> Correct
Deux valeurs dans le liste "sort[]"
Pièce jointe 172763
> Correct
Petit nombre
Pièce jointe 172764
> Incorrect... Ça fait 2.
Grand nombre
Pièce jointe 172765
> 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 de façon à ce qu'il fonctionne correctement !
Je vous remercie par avance ! :D