Path: csiph.com!weretis.net!feeder8.news.weretis.net!news.imp.ch!news.alphanet.ch!alphanet.ch!news.izac.org!reader From: Benoit Izac Newsgroups: fr.comp.lang.python Subject: Re: En testant les valeurs 5,1,1 obtenu est CONSTRUCTIBLE au lieu dPAS CONSTRUC Date: Wed, 02 Dec 2020 08:31:44 +0100 Message-ID: <87mtywr7dr.fsf@izac.org> References: Reply-To: benoit.izac@free.fr Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: keg.izac.org; logging-data="1731"; mail-complaints-to="usenet@izac.org" Xref: csiph.com fr.comp.lang.python:3395 Bonjour, Le 02/12/2020 à 05:58, Dominique a écrit dans le message  : > def ma_fonction(t): > if t[0]+t[1]>t[2] and t[1]+t[2]>t[0] and t[0]+t[2]>t[1]: > return 'Constructible' > elif t[0]*t[1]*t[2]==0: > return 'PLAT' > else: > return 'PAS CONSTRUCTIBLE' > > t=eval(input()) C'est un peu tordu car il faut savoir que l'on attend une entrée de la forme « [a, b, c] » (ou n'importe quel objet qui implémente « __getitem__() » pour être plus précis) > print(ma_fonction(t)) > print(ma_fonction([2, 1, 1])) PAS CONSTRUCTIBLE <= faux Un triangle est plat si la somme des longueurs de deux côtés est égale à la longueur du troisième côté ; par exemple : A B C A C A BC +---+---+ ou +-------+ ou +-----++ B Ma version : def triangle(a, b, c): for cote in (a, b, c): opposes = a + b + c - cote if opposes < cote: return 'PAS CONSTRUCTIBLE' if opposes == cote: return 'CONSTRUCTIBLE PLAT' return 'CONSTRUCTIBLE' -- Benoit Izac