Les valeurs 1,1,1.4142135623730951 le résultat isocèle au lieu de rec. isocèle
Fermé
domxav1759
-
Modifié le 1 déc. 2020 à 22:37
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 - 2 déc. 2020 à 08:20
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 - 2 déc. 2020 à 08:20
A voir également:
- Les valeurs 1,1,1.4142135623730951 le résultat isocèle au lieu de rec. isocèle
- Trouver un lieu avec coordonnées gps - Guide
- Photo rec - Télécharger - Récupération de données
- Voir un lieu en direct par satellite - Guide
- Évariste souhaite télécharger le logiciel inkscape depuis le site de son éditeur. sélectionnez le résultat de recherche sur lequel il doit cliquer. - Forum Bureautique
- Lexer resultat - Télécharger - Sport
4 réponses
NHenry
Messages postés
15112
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 avril 2024
330
1 déc. 2020 à 22:37
1 déc. 2020 à 22:37
A cause de la condition :
a*b==b*c or b*c==a*c or a*c==a*b
Quand tu as des conditions avec and et or, toujours mettre des parenthèses pour éviter les erreurs de priorités
De plus ton triangle est rectangle et isocèle (2 côtés à 1).
a*b==b*c or b*c==a*c or a*c==a*b
Quand tu as des conditions avec and et or, toujours mettre des parenthèses pour éviter les erreurs de priorités
De plus ton triangle est rectangle et isocèle (2 côtés à 1).
parenthèses à mettre chaque or
ou une pair de parenthèses pour ensemble or comme ceci:
merci à votre aide
ou une pair de parenthèses pour ensemble or comme ceci:
elif ((a*b==b*c) or (b*c==a*c) or (a*c==a*b)) and (a*b*a*b+b*c*b*c==a*c*a*c) or (b*c*b*c+a*c*a*c==a*b*a*b) or (a*c*a*c+a*b*a*b==b*c*b*c):
merci à votre aide
quel est le formule pour rectangle isocèle
est ce que ce bien ça?
a*a == b*b+c*c or b*b == a*a+c*c or c*c == a*a+b*b:
en l' appliquant ça
il me donne erreur suivant:
le résultat obtenu est ISOCELE au lieu de RECTANGLE ISOCELE
en l’exécutant dans l’éditeur "pycharme"
il me donne output suivante:
ISOCELE
s'il vous plaît
est ce que ce bien ça?
a*a == b*b+c*c or b*b == a*a+c*c or c*c == a*a+b*b:
en l' appliquant ça
il me donne erreur suivant:
le résultat obtenu est ISOCELE au lieu de RECTANGLE ISOCELE
from math import *
def ma_fonction(a, b,c ):
if a == b or b == c or a == c:
return "ISOCELE"
elif a==b==c:
return "EQUILATERAL"
elif c ** 2 == a ** 2 + b ** 2:
return "rectangle"
elif a*a == b*b+c*c or b*b == a*a+c*c or c*c == a*a+b*b: # rectangle isocele
return "rectangle isocèle"
else:
return "QUELCONQUE"
print(ma_fonction(1, 1, 1.4142135623730951))
en l’exécutant dans l’éditeur "pycharme"
il me donne output suivante:
ISOCELE
s'il vous plaît
Whismeril
Messages postés
19022
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 avril 2024
928
2 déc. 2020 à 08:20
2 déc. 2020 à 08:20
Bonjour
Pour tes prochains posts, merci de lire attentivement ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pour ton problème, quand tu as une cascade de if / else if, si plusieurs conditions sont vraies, la quelle est « choisie » par cette cascade?
Par exemple, ma variable est une voiture de marque « truc ».
Quel choix est fait?
Pour tes prochains posts, merci de lire attentivement ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pour ton problème, quand tu as une cascade de if / else if, si plusieurs conditions sont vraies, la quelle est « choisie » par cette cascade?
Par exemple, ma variable est une voiture de marque « truc ».
if vehicule == moto : #choix 1 elif vehicule == voiture : #choix 2 elif vehicule == voiture and vehicule.marque == truc : #choix 3
Quel choix est fait?
1 déc. 2020 à 23:26
J’ajoute que tes conditions sont plus compliquées que nécessaire.
Par exemple, la définition d’un triangle équilatéral est que les longueurs des 3 côtés sont égales et toi tu as écrit cette condition
Oui mathématiquement a*b == b*c est égal à a == c, mais pourquoi faire plus de calculs qu’il n’en faut. Ça ralenti l’exécution et surtout ça augmente le risque d’erreurs en codant.
En appliquant cette simplification, la condition se résume à
Maintenant, que c’est plus simple, et plus clair, on s’aperçoit que tu testes 2 fois la même condition à savoir si b est égal à c
Au final est le strict nécessaire pour savoir si ce triangle est équilatéral.
Après avoir réduit tes autres conditions au strict nécessaire, il sera plus simple de voir où mettre des parenthèses pour éviter des problèmes de priorité comme l’a souligné NHenry