Bonjour,

Je débute en python et mon problème risque de vous sembler trivial.

Je suits un tutoriel trouvé sur codingame qui demande d'écrire un programme permettant d'identifier la nature d'un triangle à partir des longueurs de ses cotés.
Voilà ce que j'ai pondu:

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
 
from math import *
 
def ma_fonction(a,b,c):
 
    if a==b==c:
        return "EQUILATERAL"
    elif a==b or a==c or b==c:
        if a/b==((1+5**0.5)/2) or a/c==((1+5**0.5)/2) or b/c ==(1+5**0.5)/2 :
            return "TRIANGLE D'OR"
        elif a**2-b**2-c**2==0 or b**2-a**2-c**2==0 or c**2-a**2-b**2==0:
            return "RECTANGLE ISOCELE"
        else:
            return "ISOCELE"
    elif a**2-b**2-c**2==0 or b**2-a**2-c**2==0 or c**2-a**2-b**2==0:
        return "RECTANGLE"
    else:
        return "QUELCONQUE"
le problème c'est que quand je tape ma_fonction(1,1,2**0.5) au lieu d'avoir "RECTANGLE ISOCELE" j'ai "ISOCELE".
Je ne comprends pas pourquoi ma sous-condition est ignorée. Est-ce une histoire d'arrondi?

Je vous remercie si vous pouvez m'aider. Je m'arrache les cheveux.