Énoncé de l'exercice
Le programme doit ensuite :
1. Vérifier si les trois côtés peuvent former un triangle (la somme de deux côtés doit toujours être supérieure au troisième).
2. Si c’est un triangle, déterminer le type de triangle :
- Équilatéral : tous les côtés égaux
- Isocèle : exactement deux côtés égaux
- Scalène : tous les côtés différents
3. Vérifier si le triangle est rectangle (théorème de Pythagore : le carré du plus grand côté est égal à la somme des carrés des deux autres côtés).
4. Afficher clairement tous les résultats : si ce n’est pas un triangle, l’indiquer, sinon préciser le type et s’il est rectangle.
Solution proposée
# On demande à l'utilisateur de saisir les trois côtés du triangle
a = float(input("Entrez le côté a : "))
b = float(input("Entrez le côté b : "))
c = float(input("Entrez le côté c : "))
# On commence par vérifier si les côtés peuvent former un triangle
if (a + b > c) and (a + c > b) and (b + c > a):
# C'est bien un triangle
print("C'est un triangle.")
# On détermine le type de triangle selon les côtés
if a == b and b == c:
print("Type : équilatéral")
elif a == b or a == c or b == c:
print("Type : isocèle")
else:
print("Type : scalène")
# Vérification si le triangle est rectangle
# On identifie le plus grand côté
if a >= b and a >= c:
hyp = a
cat1 = b
cat2 = c
elif b >= a and b >= c:
hyp = b
cat1 = a
cat2 = c
else:
hyp = c
cat1 = a
cat2 = b
# Théorème de Pythagore
if hyp ** 2 == cat1 ** 2 + cat2 ** 2:
print("C'est un triangle rectangle.")
else:
# Ce n'est pas un triangle
print("Ce n'est pas un triangle.")