CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Python] Simplification de racine carré

[hard]ware
[hard]ware
Niveau 14
25 mars 2015 à 15:46:54

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 :hap:

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
:d) Correct

  • Deux valeurs dans le liste "sort[]"

http://i.gyazo.com/4f8d1aac6d440de5be247057b81ec997.png
:d) Correct

  • Petit nombre

http://i.gyazo.com/6f131da6189e49604a6a7a8b82464d67.png
:d) Incorrect... Ça fait 2.

  • Grand nombre

http://i.gyazo.com/4faad5c70188e1c36ed285ce3d94851b.png
:d) 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 !

:merci:

[hard]ware
[hard]ware
Niveau 14
25 mars 2015 à 19:34:44

Résolu !

Voici le code :

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 <= nb) and (i < len(carre)): #inutile d'aller au delà 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,")")

Le problème venait du While !
http://www.developpez.net/forums/d1508506/autres-langages/python-zope/general-python/simplification-racine-carre/#post8185015

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment