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:
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
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")
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 ?
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")
Merci à ceux qui prendront leurs temps pour m'aider.
Cordialement.
Partager