Dichotomie (python débutant)
Bonjour,
j'enseigne au collège depuis de nombreuses années, je n'ai donc jamais utilisé Python, ni Scilab... Je m'étais inscrit à une formation mais celle-ci a été supprimée par manque de candidats... bref je risque de paraître bête et de poser des questions stupides, désolé.. mais j'aimerais apprendre un peu les bases. Pour cela, je viens de me procurer un livre "Python et les 40 problèmes mathématiques" et je m'exerce.
Déjà, première question, dans ce bouquin on dit de télécharger Pyzo et d'ailleurs tous les exercices sont corrigés avec pyzo, est-ce vraiment la même chose que Python ?
Ensuite je suis en train de travailler sur la méthode de dichotomie pour approximer la racine carrée de 2, je tape exactement ce qui est proposé et qui me semble correct et il apparaît toujours des messages d'erreur.. (en voici un par exemple) je ne comprends pas pourquoi...
Merci !
j'enseigne au collège depuis de nombreuses années, je n'ai donc jamais utilisé Python, ni Scilab... Je m'étais inscrit à une formation mais celle-ci a été supprimée par manque de candidats... bref je risque de paraître bête et de poser des questions stupides, désolé.. mais j'aimerais apprendre un peu les bases. Pour cela, je viens de me procurer un livre "Python et les 40 problèmes mathématiques" et je m'exerce.
Déjà, première question, dans ce bouquin on dit de télécharger Pyzo et d'ailleurs tous les exercices sont corrigés avec pyzo, est-ce vraiment la même chose que Python ?
Ensuite je suis en train de travailler sur la méthode de dichotomie pour approximer la racine carrée de 2, je tape exactement ce qui est proposé et qui me semble correct et il apparaît toujours des messages d'erreur.. (en voici un par exemple) je ne comprends pas pourquoi...
Merci !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
-- Schnoebelen, Philippe
Par contre, question sûrement bête, mais je dois tout recommencer le programme quand un message d'erreur apparaît ? je ne vois pas comment supprimer une ligne pour revenir en arrière...
Cordialement.
Est ce que tu peux faire un copier coller de ton programme pour que je le lance et corriger + facilement l'erreur?
[Pour afficher du code python, IL FAUT utiliser le bouton "Code" (5ème par la droite au dessus de la fenêtre d'édition. AD]
-- Schnoebelen, Philippe
Mais la boucle qui commence par while n'est pas terminé donc c'est normal qu'il y a un message d'erreur.
D'ailleurs il n'y a rien après ton else..;;;
Cordialement.
Je ne connais pas python sauf que j'ai commencé à le regarder il y a 2 jours pour aider quelqu'un. Alors j'aide comme je peux.
Ce que je viens de comprendre c'est que l'indentation est importante avec python
d'où le risque de beaucoup de message d'erreurs en débutant.
Voilà ton programme que j'ai un peu arrangé et il tourne
[Pour afficher du code python, IL FAUT utiliser le bouton "Code" (5ème par la droite au dessus de la fenêtre d'édition. AD]
[Pour afficher du code python, IL FAUT utiliser le bouton "Code" (5ème par la droite au dessus de la fenêtre d'édition. AD]
[Pour afficher du code python, IL FAUT utiliser le bouton "Code" (5ème par la droite au dessus de la fenêtre d'édition. AD]
[Pour afficher du code python, IL FAUT utiliser le bouton "Code" (5ème par la droite au dessus de la fenêtre d'édition. AD]
Ce n'est quand même pas compliqué de cliquer sur le bouton "code formaté".
A moins que bd2017 refuse de suivre les conseils. Qui répond: Cordialement,
Rescassol
D'autre part c'est pas la peine de se fatiguer. En effet la même question est posée sur un autre forum....
Je précise que le code que j'ai donné plus haut est écrit dans Pyzo (et non pizo) et qu'il ne génère pas d'erreur.
Cordialement,
Rescassol
J'aimerais maintenant effectuer le même genre d'algorithme permettant de donner également une valeur approchée de la racine carrée de 2 à $10^{-100}$ près à l'aide de la méthode des sécantes, puis la méthode de Newton. J'y réfléchis de mon côté et je reviendrai certainement vers vous si je bloque. Merci.
-- Schnoebelen, Philippe
$10^{-100}$ en précision limitée, faut pas rêver !!....
Sinon, j'utilise Pyzo 3.7.2 et non 3.6, mais ça ne peut pas être ça.
Tu peux essayer de supprimer ta fonction f et la retaper sans copier/coller.
Cordialement,
Rescassol
Pour la précision 10^-100 j'aimerais au moins qu'on me donne le rang à partir duquel on a cette précision. J'ai retrouvé mes leçons de capes, ma calculatrice voyage 200 (il y a 13 ans) donnait cette précision.
La fonction sqrt, aussi bien dans math que dans numpy répond $1.4142135623730951$, pas mieux.
Puis, $2^{-333}<10^{-100}<2^{-332}$, et comme tu fais de la dichotomie.....
Cordialement,
Rescassol
Cordialement,
Rescassol
D'après vous, l'algorithme que j'aimerais créer (méthode des sécantes et [large]N[/large]ewton) est impossible ?
En fait j'aimerais illustrer à l'aide de python le fait que la méthode de [large]N[/large]ewton est plus performante que la méthode des sécantes, qui est elle aussi plus performante que la méthode par dichotomie, à l'aide de l'exemple d'approximation de la racine carrée de 2. Que me conseillez-vous comme illustration alors ? Merci d'avance.
[Isaac Newton (1643-1727) prend toujours une majuscule. AD]
Il faut juste que tu écrives un script valide syntaxiquement ou que tu nous dises exactement quel est le message d’erreur. Sans ça, on ne peut pas t’aider.
-- Schnoebelen, Philippe
"Uncaught Python exception: invalid syntax (<logger>, line 3)
File "code.py", line 63, in runsource
File "codeop.py", line 171, in __call__
File "codeop.py", line 100, in _maybe_compile
File "codeop.py", line 87, in _maybe_compile
File "codeop.py", line 136, in __call__"
J'ai créé alors cet algorithme mais c'est faux ,on devrait obtenir n=19 et non 144....
et on montre que Un-racine(2)< Vn avec Vn=1/2^(2^n-1). On remarque alors que Vn+1=Vn²/2.
J'ai créé cet algorithme mais pareil il y a un souci car on devrait normalement obtenir n=6 et non 9...
-- Schnoebelen, Philippe
Ne faut-il pas une ligne vide, après la définition d'une fonction ?
Edit : grillé par Gérard, d'après qui ce n'est pas un gag, c'est un feature.
Pas à ma connaissance (je viens de tester).
-- Schnoebelen, Philippe
j'ai beau tout essayer, même en retapant tout dans un nouveau fichier, toujours un message d'erreur ligne 3 c'est bizarre... enfin bref ce n'est pas grave, ça a l'air de fonctionner avec Python3.6.
Sinon qu'est-ce que je dois modifier dans mon algorithme (méthode de la sécante) pour que cela fonctionne ? Merci beaucoup.
-- Schnoebelen, Philippe
Non, après avoir tapé ton programme dans ce que tu appelles "fichier à gauche", il faut l'exécuter (avec F5 je crois, je n'ai pas Pyzo sous la main).
Dans ce message http://www.les-mathematiques.net/phorum/read.php?15,1938746,1938790#msg-1938790 tu es manifestement dans le shell où tu ne peux exécuter qu'une commande à la fois, c'est pour ça que ça ne marche pas.