Besoin d'aide Python s'il vous plaît

Fermé
Alexx.L Messages postés 2 Date d'inscription samedi 17 octobre 2020 Statut Membre Dernière intervention 18 octobre 2020 - Modifié le 17 oct. 2020 à 17:44
quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 - 18 oct. 2020 à 19:45
Bonjour,
je suis en classe de Première et il faut que je fasse un programme qui, après avoir demandé les coordonnées de deux points distincts, soit capable de me renvoyer l'équation de la droite passant par ces deux points. Mon principal problème est qu'il faut aussi que cela fonctionne pour les droites verticales, donc quand les deux points ont la même abscisse (sauf si erreur de ma part).
Pour l'instant, mon programme ressemble à cela, et il fonctionne assez bien, sauf pour les droites verticales, comme vous l'aurez deviné. Il m'indique un message d'erreur disant "Error : float division by zero", car il est impossible de diviser par 0, mais je n'arrive pas à y remédier.

xA = float(input("Abscisse du point A ?"))
yA = float(input("Ordonnée du point A ?"))
xB = float(input("Abscisse du point B ?"))
yB = float(input("Ordonnée du point B ?"))
C = (yB-yA)/(xB-xA)
if xB==xA:
  print ("Impossible. La droite est verticale")
D = (xA*C)-yA
print (C,"x +", D, "est l'équation de la droite passant par les points A et B")


Voilà si quelqu'un pourrait m'aider ce serait grandement apprécié, le plus tôt possible serait le mieux car je dois le rendre dans quelques jours.

(Si vous pouvez en plus résoudre le fait que quand le b de ax + b est négatif, ça ne me fasse pas ax + -b, je vous serais grandement reconnaissant)

PS : Je ne sais pas si certaines commandes peuvent changer en fonction des sites, mais si c'est le cas, il faut que j'utilise trinket.io

4 réponses

yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
17 oct. 2020 à 17:45
bonjour,
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
quelle est l'équation d'une droite verticale?
tu n'as aucune idée comment faire quand b est négatif?
0
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 325
Modifié le 17 oct. 2020 à 17:46
Bonjour,

"Pour le résoudre," faut pas trop demander non plus... C'est ton exercice, pour que tu apprennes. Ceux qui peuvent intervenir n'ont pas, plus besoin de s'entrainer ;-)

0
Alexx.L Messages postés 2 Date d'inscription samedi 17 octobre 2020 Statut Membre Dernière intervention 18 octobre 2020
18 oct. 2020 à 16:26
Bonjour, premièrement j'aimerais vous remercier tous deux de m'avoir répondu, c'est très aimable, et je suis désolé si vous avez compris que je voulais directement la réponse, c'est ma première fois sur ce site et je me suis mal exprimé.
Pour l'équation d'une droite verticale, si je me souviens bien sa pente est infinie, et elle n'a pas d'ordonnée à l'origine, non ? (Je ne sais pas comment écrire infini dans python non plus)
Et non, je ne sais vraiment pas faire pour le b quand il est négatif, malheureusement.
0
quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 344
18 oct. 2020 à 19:45
Bonjour,
l'équation y = ax + b est une équation de fonction affine, et une droite verticale ne peut donc pas être représentée par une équation de ce type.
Je vous invite à chercher sur internet ou dans votre cours ce qu'est une équation de droite. Cela vous permettra probablement de résoudre votre problème.

Pour le b négatif, ne peut-on pas simplement faire une condition pour savoir s'il est plus petit ou plus grand que 0 ?
0