CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Nature du triangle

PillsDispenser
PillsDispenser
Niveau 67
17 novembre 2015 à 19:00:21
a = int(input("Choisissez un nombre :"))
b = int(input("Choisissez un nombre :"))
c = int(input("Choisissez un nombre :"))

if a == b == c :
    print("Le triangle est équilatéral.")
elif a**2 + b**2 == c**2 :
    print("Le triangle est rectangle.")
elif a**2 + c**2 == b**2 :
    print("Le triangle est rectangle.")
elif b**2 + c**2 == a**2 :
    print("Le triangle est rectangle.")
elif a == b :
    print("Le triangle est isocèle.")
elif b == c :
    print("Le triangle est isocèle.")
elif a**2 + b**2 == c**2 and a == b :
    print("Le triangle est isocèle rectangle.")
elif a**2 + c**2 == b and a == c :
    print("Le triangle est isocèle rectangle.")
elif b**2 + c**2 == a**2 and b == c :
    print("Le triangle est isocèle rectangle.")
else :
    print("Le triangle est quelconque.")

Mon code est il correct svp ?

Grimmys
Grimmys
Niveau 19
17 novembre 2015 à 19:57:29

Salut,

C'est très lourd... Dommage que switch n'existe pas en Python. :noel:

M'enfin y a forcément moyen de simplifier, cherche un peu.

Sinon une erreur : Ton programme ne peut pas traiter le cas où ton triangle est isocèle rectangle => il quittera le bloc conditionnel une fois avoir vérifié que le triangle est bien rectangle. :ok:

1234_bou
1234_bou
Niveau 9
17 novembre 2015 à 20:00:53

Le 17 novembre 2015 à 19:57:29 Grimmys a écrit :
Salut,

C'est très lourd... Dommage que switch n'existe pas en Python. :noel:

M'enfin y a forcément moyen de simplifier, cherche un peu.

Sinon une erreur : Ton programme ne peut pas traiter le cas où ton triangle est isocèle rectangle => il quittera le bloc conditionnel une fois avoir vérifié que le triangle est bien rectangle. :ok:

Pour rendre le code plus léger, il faudrait faire des du polymorphisme ou des fonctions de type :
-CheckIfRectangle(int a, int b, int c)
-CheckifIsocele(int a , int b, int c)

Un peu lourd pour un code aussi simple je pense :(

PillsDispenser
PillsDispenser
Niveau 67
17 novembre 2015 à 20:17:25

Que faire ?

Grimmys
Grimmys
Niveau 19
17 novembre 2015 à 20:18:15

Ouai... D'accord je vois.

Mais par exemple on peut fusionner les 3 conditions pour le triangle rectangle, ainsi que les 2 pour le triangle isocèle avec l'operateur Or.

Bien sûr on obtient des conditions à rallonge un peu dégueulasse... Mais ça me semble plus clair, moins redondant. :(

PillsDispenser
PillsDispenser
Niveau 67
17 novembre 2015 à 20:20:20

et pour faire en sorte qu'il passe pas isocèle rectangle si il est rectangle ?

Grimmys
Grimmys
Niveau 19
17 novembre 2015 à 20:23:48

C'est pas compliqué, réfléchis un peu tu trouveras... :hap:

Pense de façon plus globale : extériorise toi du code que tu as produit pour voir ce qui ne va pas, ce que tu peux faire pour régler le problème.

Schiffer
Schiffer
Niveau 10
17 novembre 2015 à 20:25:07

Découpe ton code en fonctions

PillsDispenser
PillsDispenser
Niveau 67
17 novembre 2015 à 20:31:31

Je fais monté le if en haut comme ca il aura la priorité.

Schiffer
Schiffer
Niveau 10
17 novembre 2015 à 20:32:58

Me dis pas que tu veux faire ça en une seule ligne aussi :rire:

1234_bou
1234_bou
Niveau 9
17 novembre 2015 à 20:34:03

Coupe ton code en trois fonction :

Il est isocele.
Il est rectangle.
Il est equilaterale.

Dedans arrange toi de vérifier tous les cas c'est a dire que pour le cas isocele tu verfiie autant a==b que a==c que c==b. Pareil pour les autres.

Ensuite, tu print chacune des propriétés du genre :

print("Les propriétées de votre triangle : )
CheckCaseOne() // tu comprend qu'il faut rajouter les parametres et tous le blabla
CheckCaseTwo()
CheckCaseThree()
printf( "Fin du programme)

Tu aura comme résulat (ex) :
Les propriétés : isocele rectangle
fin du programme

Et c'est un peu plus propre.

PillsDispenser
PillsDispenser
Niveau 67
17 novembre 2015 à 20:36:33
a = int(input("Choisissez un nombre :"))
b = int(input("Choisissez un nombre :"))
c = int(input("Choisissez un nombre :"))

if a == b == c :
    print("Le triangle est équilatéral.")
elif a**2 + b**2 == c**2 and a == b or a**2 + c**2 == b and a == c or b**2 + c**2 == a**2 and b == c :
    print("Le triangle est isocèle rectangle.")
elif a == b or b == c :
    print("Le triangle est isocèle.")
elif a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2 :
    print("Le triangle est rectangle.")
else :
    print("Le triangle est quelconque.")
Message édité le 17 novembre 2015 à 20:37:52 par PillsDispenser
Grimmys
Grimmys
Niveau 19
17 novembre 2015 à 20:39:38

Oui nan c'est vrai découper en fonctions c'est plus sympa, desole pour la fausse orientation mec.

Sinon bon ton code était juste. :hap:

PillsDispenser
PillsDispenser
Niveau 67
17 novembre 2015 à 20:41:00

Le 17 novembre 2015 à 20:39:38 Grimmys a écrit :
Oui nan c'est vrai découper en fonctions c'est plus sympa, desole pour la fausse orientation mec.

Sinon bon ton code était juste. :hap:

Que faire xD

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment