Bonjour,


Alors voila, mon prof d'ISN nous a donner comme exercice à faire a la maison celui ci-dessous. Je voudrais savoir si il était possible de l’alléger.

je n'ai pas trop compris "et pour finir, dans tous les cas il vous donne les 3 côtés dans l'ordre croissant,
exemple d'affichage : AB = AC < BC". Pouvez vous m'aider ?


Etude d'un triangle
Vous demandez les coordonnées de 3 points A, B, C du plan.
Le programme doit vous « répondre » :
les points sont alignés (et le programme s'arrête là avec un avertissement)
ou
le triangle ABC est rectangle ou le triangle est isocèle....voire les deux à la fois !
et pour finir, dans tous les cas il vous donne les 3 côtés dans l'ordre croissant,
exemple d'affichage : AB = AC < BC


voici mon programme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
#On importe pour pouvoir utiliser des vecteurs
#import sys permet de s'arreter si une condition est vrai
 
from math import sqrt   
import sys              
 
XA=int(input("XA="))
YA=int(input("YA="))
XB=int(input("XB="))
YB=int(input("YB="))#On demande de rentrer des coordonnés
XC=int(input("XC="))
YC=int(input("YC="))
 
if (XB-XA)*(YB-YA) == (XC-XB)*(YC-YB): #Formule pour la colinéarité dans un if
	print("les vecteurs AB et BC sont colinéaires et les points A , B et C sont alignés.")
else:
	print("les vecteurs AB et BC ne sont pas colinéaires et les points A , B et C ne sont pas alignés.")
 
AB= int(sqrt(((XB-XA)**2)+((YB-YA)**2)))
AC= int(sqrt(((XC-XA)**2)+((YC-YA)**2)))#Formule de la norme d'un vecteur
BC= int(sqrt(((XC-XB)**2)+((YC-YB)**2)))
 
if AB>AC and AB>BC:
        AB**2==AC**2+BC**2#Formule pour triangle rectangle
        print("Le triangle est rectangle en C")
 
elif AC>AB and AC>BC:
        AC**2==AB**2+BC**2
        print("Le triangle est rectangle en B")
 
elif BC>AB and BC>AC:
        BC**2==AC**2+AB**2
        print("Le triangle est rectangle en A")
 
else:#Le triangle n'est pas rectangle donc on cherche à savoir si il est isocèle
        print("Le triangle n'est pas rectangle")
 
if AB==AC or AB==BC:#Si 1=1 ou 2=2 alors le triangle est isocèle
        print("Le triangle est isocèle")
        sys.exit()
elif AC==AB or AC==BC:
        print("Le triangle est isocèle")
        sys.exit()
elif BC==AB or BC==AC:
        print("Le triangle est isocèle")
        sys.exit()
else:#sinon le triangle est quelconque
        print("Le triangle n'est pas isocèle")
 
if AB==AC<BC:
        print("AB=AC<BC")
elif AB==BC<AC:
        print("AB=BC<AC")
elif AC==AB<BC:
        print("AC=AB<BC")
elif AC==BC<AB:
        print("AC=BC<AB")
elif BC==AB<AC:
        print("BC=AB<AC")
elif BC==AC<AB:
        print("BC=AC<AB")
Dans cette partie du programme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
else:#sinon le triangle est quelconque
        print("Le triangle n'est pas isocèle")
 
if AB==AC<BC:
        print("AB=AC<BC")
elif AB==BC<AC:
        print("AB=BC<AC")
elif AC==AB<BC:
        print("AC=AB<BC")
elif AC==BC<AB:
        print("AC=BC<AB")
elif BC==AB<AC:
        print("BC=AB<AC")
elif BC==AC<AB:
        print("BC=AC<AB")
Comment faire pour que si le triangle n'est pas rectangle dire qu'il est juste isocèle ou vice versa qu'il est un triangle rectangle isocèle ?
Merci à ceux qui prendront leurs temps pour m'aider.

Cordialement.