Path: csiph.com!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Pierre Maurette Newsgroups: fr.comp.lang.python Subject: Re: En testant les valeurs 5,1,1 obtenu est CONSTRUCTIBLE au lieu dPAS CONSTRUC Date: Tue, 01 Dec 2020 16:47:48 +0100 Organization: A noiseless patient Spider Lines: 93 Message-ID: References: <2a2dnQcjcY8v1FvCnZ2dnUU7983NnZ2d@giganews.com> Reply-To: maurette.pierre@free.fr Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: reader02.eternal-september.org; posting-host="2b9f86814d3591da5b52ffd745d38bc9"; logging-data="28178"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX183vUQBMnYp01ntDSm8r7ePtD6Vo9e0pO0=" Cancel-Lock: sha1:hnuGme3t7g/2J0mcgfk61TtFOYM= X-Newsreader: MesNews/1.08.06.00-fr X-Face: cmi$3R1_J{[}5K|8d'LDiJ$SsZ*gn,j*PhJ#KVGt+45,E_N9O}GrhhQ>fb&q<&lz=g%PEv' u"m)N|KrBMux?2:E?N7Uw3L#H>L#GwM}gY:.`W.qu z`1'W'h-AXPmB]#7~<+@H.<0M`-jBkCWbmkcT_*LBVD3|p1a?h1H;cHq{$-vbeP@Hdcqp5z~lwU7ZK `~ Xref: csiph.com fr.comp.lang.python:3391 domxav17 : > Le mardi 01 Décembre 2020 à 14:14 par domxav17 : >> Bonjour, >> voilà j'ai fais cours second de python >> dans laquelle il pose une question suivante: >> >> Si on choisit 3 nombres, il n'est pas toujours possible de construire un >> triangle ayant pour longueur ces nombres. Par exemple, il est impossible de >> construire un triangle de côtés de longueurs 1, 1 et 5. >> >> Un triangle est constructible si pour chaque coté, sa longueur est >> inférieur à la somme des longueurs deux autres cotés. >> >> Le but de cet exercice est de créer un programme qui nous dit si le >> triangle est constructible ou pas à partir des longueurs qui nous sont >> données. >> >> Entrée : Trois longueurs a, b et c. >> >> Sortie : Affiche "CONSTRUCTIBLE" si on peut construire un >> triangle ayant des cotés de ces trois longueurs ou bien ";PAS >> CONSTRUCTIBLE" sinon. N'oubliez pas les guillemets. >> Pour les plus rapides, vous pouvez afficher "PLAT"si le triangle >> qu'on peut construire est plat. >> >> j'ai écrit mon programme: >> >> def ma_fonction(a,b,c): >> >> ab=a*b >> bc=c*c >> ac=a*c >> if ab> return ";CONSTRUCTIBLE" >> elif a<5 and b<5 and c<5: >> return "PLAT"; >> else: >> return "PAS CONSTRUCTIBLE" >> print(ma_fonction(5,1,1)) >> >> en l’exécutant j'ai une erreur message : >> "En testant les valeurs 5,1,1 le résultat obtenu est CONSTRUCTIBLE >> au lieu de PAS CONSTRUCTIBLE" >> >> quelqu'un peut m'aider s'il vous plaît > j'ai corrigé un peu mon programme: > > > def ma_fonction(a, b, c): > > if a < b+c and b < a+c and c < a+b: > return "CONSTRUCTIBLE" > elif a < 1 and b < 1 and c < 1: > return "PLAT" > else: > return "PAS CONSTRUCTIBLE" > > > print(ma_fonction(2, 1, 1)) > > > maintenant j'ai erreur suivante: > "En testant les valeurs 2,1,1 le résultat obtenu est PAS CONSTRUCTIBLE au > lieu de PLAT" Pour juste que ça fonctionne: def ma_fonction(a, b, c): if a < b+c and b < a+c and c < a+b: return "CONSTRUCTIBLE" elif a == b+c or b == a+c or c == a+b: return "PLAT" else: return "PAS CONSTRUCTIBLE" En relisant l'énoncé: def ma_fonction(a, b, c): if a <= b+c and b <= a+c and c <= a+b: if a == b + c or b == a + c or c == a + b: return "CONSTRUCTIBLE PLAT" else: return "CONSTRUCTIBLE" return "PAS CONSTRUCTIBLE" for testtriplet in ((5,1,1), (2,1,1), (1,1,1)): print(ma_fonction(*testtriplet)) -- Pierre Maurette