Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

python et trigo

Posté par
mfd
21-12-20 à 19:17

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()

Posté par
mathafou Moderateur
re : python et trigo 21-12-20 à 19:30

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 :

python et trigo

Posté par
mfd
re : python et trigo 21-12-20 à 19:39

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

Posté par
mfd
re : python et trigo 21-12-20 à 19:44

Où se trouve la fenêtre graphique elle ne s'affiche pas automatiquement

Posté par
mathafou Moderateur
re : python et trigo 21-12-20 à 19:58

elle ne s'affiche que quand on exécute la fonction
(c'est une fenêtre supplémentaire "pop up")

python et trigo

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

Posté par
mfd
re : python et trigo 21-12-20 à 20:14

Merci pour tout... la fenêtre vient de s'ouvrir  c'est bon pour moi

Posté par
mfd
python et trigo1 21-12-20 à 22:18

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é ***

Posté par
mfd
re : python et trigo1 21-12-20 à 23:13

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é ***

Posté par
Zormuche
re : python et trigo1 21-12-20 à 23:31

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é ***

Posté par
dirac
re : python et trigo1 21-12-20 à 23:44

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é ***

Posté par
malou Webmaster
re : python et trigo1 22-12-20 à 03:32

Bonjour
mfd, peut-on en savoir un peu plus sur ton profil véritable ?

attentionextrait de c_faq la FAQ du forum :

Q12 - Dois-je forcément indiquer mon niveau lorsque je poste un nouveau sujet ?


merci


*** message déplacé ***

Posté par
dirac
re : python et trigo1 22-12-20 à 08:29

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é ***

Posté par
mfd
re : python et trigo1 22-12-20 à 09:00

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é ***

Posté par
malou Webmaster
re : python et trigo1 22-12-20 à 09:26

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é ***

Posté par
mfd
re : python et trigo1 22-12-20 à 09:30

En effet j'ai bien un pgm qui s'appelle main.py..... je viens d'obtenir mon cercle.....
Merci beaucoup

*** message déplacé ***

Posté par
mfd
re : python et trigo1 22-12-20 à 09:58

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é ***

Posté par
mathafou Moderateur
re : python et trigo1 22-12-20 à 10:01

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é ***

Posté par
malou Webmaster
re : python et trigo1 22-12-20 à 10:04

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é ***

Posté par
malou Webmaster
re : python et trigo 22-12-20 à 10:07


oui, mathafou bonjour a raison...cela s'apparente à du multipost
j'ai regroupé car j'ai vu que les sujets étaient successifs, et donc cela allait rester compréhensible

attentionextrait de c_faq la FAQ du forum :

Q03 - Pourquoi ne faut-il pas faire du ''multi-post'' ?



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1674 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !