Bonsoir,
j'ai recopié un pgm trouvé dans un livre de première sous edupython et je n'obtiens rien à l'exécution .... Pourriez-vous m'aider??.... Je vous joins mon code ci-dessous
merci d'avance
import matplotlib.pyplot as plt
from math import pi,cos,sin
def cercle(n):
for i in range(n+1):
angle=2*i*pi/n
X=cos(angle)
Y=sin(angle)
plt.plot(X,Y,"b.")
plt.axis("equal")
plt.show()
Bonjour,
il faut appeler cette fonction, l'invoquer.
là, ça ne fait que la définir, sans rien en faire.
par exemple on peut taper dans la console
*** Console de processus distant Réinitialisée ***
>>> cercle(10)
et ça affiche dans une fenêtre graphique :
Je ne sais pas faire apparaître la console
C'est la première fois que je me sers de Python et je suis vraiment perdu
elle ne s'affiche que quand on exécute la fonction
(c'est une fenêtre supplémentaire "pop up")
on a de nouveau la main dans la console uniquement quand on a fermé cette fenêtre là
car la fonction plt.show() est toujours en train de tourner pour "montrer" (show) cette fenêtre
voir avec d'autres environnements Python que EduPython comment ça se passe
Bonsoir,
je ne sais pas ce que je dois écrire dans la console pour obtenir 4 quarts de cercle de couleurs différentes....
import matplotlib.pyplot as plt
from math import pi,cos,sin
def cercle2(n):
for i in range(n+1):
angle=2*i*pi/n
X=cos(angle)
Y=sin(angle)
if 0<X<1 and 0<Y<1:
plt.plot(X,Y,"g.")
elif -1<X<0 and 0<Y<1:
plt.plot(X,Y,"k.")
elif -1<X<0 and -1<Y<0:
plt.plot(X,Y,"r.")
elif 0<X<1 and -1<Y<0:
plt.plot(X,Y,"b.")
plt.axis("equal")
plt.show()
*** message déplacé ***
j'obtiens dans la console:
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
NameError: name 'cercle2' is not defined
*** message déplacé ***
Bonjour
l'erreur vient du fait que "cercle2" n'existe pas lorsque tu exécutes dans la console
tu es sûr que tu as défini cercle2 ? Il ne suffit pas de l'écrire, il faut l'exécuter aussi
*** message déplacé ***
Hello
Comme te le disaient mathafou sur ton autre sujet et Zormuche un peu plus tôt, tu as a défini une fonction cercle2(n) à l'intérieur d'un fichier .py (disons toto.py -je ne connais pas Edupython mais je parierais que fichier s'appelle main.py)
Tu as 2 options:
1/ soit tu executes la fonction depuis de ce fichier, et après avoir défini la fonction tu l'exécutes, par exemple cercle2(100). Cela donnerait:
def cercle2(n):
for i in range(n+1):
angle=2*i*pi/n
X=cos(angle)
Y=sin(angle)
if 0<X<1 and 0<Y<1:
plt.plot(X,Y,"g.")
elif -1<X<0 and 0<Y<1:
plt.plot(X,Y,"k.")
elif -1<X<0 and -1<Y<0:
plt.plot(X,Y,"r.")
elif 0<X<1 and -1<Y<0:
plt.plot(X,Y,"b.")
plt.axis("equal")
plt.show()
cercle2(100)
2/ soit tu décides d'appeler la fonction depuis la console python. Dans ce cas, il faudra au préalable que ta fonction soit "connue" de la console.
Pour cela il faudra que tu importes le contenu de ton fichier toto.py (ou bien main.py)
Donc depuis la console tu dois commencer par exécuter la commande
from toto import * (ou bien from main import *)
A partir de ce moment la fonction cercle2 est connue de la console et tu peux l'invoquer, avec par exemple cercle2(100)
*** message déplacé ***
Bonjour
mfd, peut-on en savoir un peu plus sur ton profil véritable ?
Bonjour,
Je m'aperçois ce matin que:
1/ j'ai contrevenu à la règle "laisser l'aidant qui a pris le sujet en mains mener son aide comme il l'entend". Mes excuses à Zormuche !
2/ J'en profite pour glisser que dans Edupython (que je n'utilise pas), les fichiers de scripts on l'aire de s'appeller par défaut plutôt "module..." que "main..." (et encore moins "toto")
Zou ... je disparais
*** message déplacé ***
destiné à malou
je suis curieuse et mon profil est celui d'une autodidacte.... Je suis intéressée par le programme de première actuelle et je m'initie à l'aide d'un livre de premiére.
*** message déplacé ***
Merci mfd de ta réponse,
est-ce que lycée "loisirs" ou lycée "reprise d'études" ne te conviendrait pas mieux comme profil ?
*** message déplacé ***
En effet j'ai bien un pgm qui s'appelle main.py..... je viens d'obtenir mon cercle.....
Merci beaucoup
*** message déplacé ***
Bonjour Malou,
explique-moi ce qu'implique un changement de profil lycée "loisirs" ou lycée "reprise d'études".... En fait il m'arrive d'aider des lycéens de mon entourage
*** message déplacé ***
Bonjour,
si je comprends bien, ta question sur l'autre sujet python et trigo est tellement liée à celle-ci que ça s'apparenterait à du multipost
ce qui est interdit
tout un même exo/problème doit être dans un seul sujet unique
l'autre question étant " j'ai trouvé ça sur internet [tracer un cercle] et je veux le faire marcher"
et il s'avère que ici tu demande "[j'ai modifié ce que j'ai trouvé pour] faire un cercle colorié par quarts"
ce qui est exactement la suite de la question précédente !!
on n'aime pas trop ça ici et c'est pour ça que c'est interdit
à voir si on regroupe tes deux sujets en un seul.
*** message déplacé ***
Alors, normalement postent en 1re des élèves de 1re, en terminale des élèves de terminale, etc.
Un profil "loisirs" ou "reprise d'études" montre qu'on répond à un adulte.
Ensuite, on a "parent d'élèves" également ...
*** message déplacé ***
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :