Bonjour,
voilà j'ai un premier exercice à faire qui est :
1) on considère des points A et B d'un repère du plan. Les variables xA, xB, yA et yB contiennent les coordonnées des points A et B. Compléter l'algorithme suivant pour qu'après exécution, la variable a contienne, lorsqu'il existe, le coefficient directeur de la droite (AB).
Si ..... j'ai mis xA xb
Alors a flèche inversée ........(yB-yA)/(Xb-xA)
Fin Si
2) Programmer cet algorithme à l'aide d'une fonction dont les arguments sont xA,xB,yA et yB et qui retourne la valeur de la variable a.
j'ai fait;
def coefdir(xA,xB,yA,yB)
if xA!=xB
a=(yB-yA)/(xB-xA)
return(a)
Merci pour votre réponse.
Bonjour,
il n'y a pas d'entrée utilisateur pour les coordonnées de A et B ?
on ne profite pas de l'algo pour calculer l'ordonnée à l'origine
et afficher l'équation de la droite ?
Bonjour
le signe ≠ y est bien.
pb d'affichage ou d'internet "lent" chez toi ?
outre qu'il manque des ":" (erreur syntaxe !!)
le problème de ta fonction Python est que quand xA = xB, a n'est pas initialisé à quoi que ce soit et l'instruction "return a" va coincer fortement !!
le problème est dans l'énoncé lui même : comment pourrait on retourner une valeur qui n'existe pas ???
cette spécification fausse entraine fatalement un programme faux !
il faudrait compléter la demande par
une fonction dont les arguments sont xA,xB,yA et yB et qui retourne la valeur de la variable a si elle existe, cette valeur, et sinon retourne va savoir quoi (à définir) ...
c'était déja le cas dans la 1ère question.
on peut s'en sortir par une pirouette :
def coefdir(xA,xB,yA,yB): (ne pas oublier les ":" )
if xA!=xB: (et là non plus)
a=(yB-yA)/(xB-xA)
return(a)
j'ai juste change l'indentation de sorte que on ne retourne le coefficient directeur que si il existe et sinon ... on ne retourne rien du tout ! (c'est loin d'être propre ça !!)
Barney il n'y a pas d'entrée utilisateur pour les coordonnées de A et B ?
c'est normal vu l'énoncé :
une fonction (pas un programme !!) dont les arguments sont ..
on peut utiliser cette fonction en ligne de commande de la console Python en y tapant par exemple :
*** Console de processus distant Réinitialisée ***
>>>
>>> coefdir(1,2,3,4)
1.0
>>> coefdir(1,1,2,3)
(réponse rien du tout, c'est ma variante)
>>>
ou dans un programme (module) avec une batterie de Input et un print à la fin : mais ce n'est pas demandé
def coefdir(xA,xB,yA,yB):
if etc
xA = float(input("Xa"))
yA = float(input("Ya"))
etc
print(coefdir(xA,xB,yA,yB))
voire plus compliqué dans une boucle pour demander ça répétitivement pour des droites successives
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :