Sinon, l'exercice peut être plus piégeux qu'il n'y paraît car la consigne demande de choisir des réels, donc des flottants seraient à considérer (pour des entiers voire des fractions avec le module fractions pas de problème). Mais il est bien connu qu'on ne peut pas comparer des flottant de manière exacte, voir ICI par exemple. On peut donc envisager d'utiliser le module decimal même je suis persuadé que ce n'est pas du tout ce qui est attendu, ici il faut juste regarder le signe de 4x + 2y + 6 avec les valeurs de x et y données.
4x + 2y + 6 = 0 Sortons notre algèbre de génie. 2y = -4x -6 = - (4x + 6) y = -(4x+6)/2 = -2x-3 si y est inférieur à 0 on est sous la droite si y est égal à zéro, on est sur la droite ... Reste plus qu'à coder.
- Edité par PierrotLeFou 6 octobre 2021 à 2:45:23
Le Tout est souvent plus grand que la somme de ses parties.
tu veux dire si le y entrée par l'utilisateur est plus petit (grand) que celui trouvé par calcul avec le x fourni, alors on est en dessous (au dessus) la courbe.
tu veux dire si le y entrée par l'utilisateur est plus petit (grand) que celui trouvé par calcul avec le x fourni, alors on est en dessous (au dessus) la courbe.
Je penses que la méthode de Pascal est meilleure.
Même si, effectivement, la méthode proposée par PascalOrtiz suffit à déterminer la position du point donné, je serai naturellement parti sur le principe de comparer le y "donné " avec le y "calculé" qui est plus naturel de mon point de vue.
4x + 2y + 6 = 0 Sortons notre algèbre de génie. 2y = -4x -6 = - (4x + 6) y = -(4x+6)/2 = -2x-3 si y est inférieur à 0 on est sous la droite si y est égal à zéro, on est sur la droite
Pas vraiment. Plutôt si y>-2x-3 alors (x,y) est au-dessus de la droite et en-dessous sinon. Autrement dit, pour revenir à l'équation initiale :
4x+2y+6 > 0 ⇒ (x,y) au-dessus de la droite
4x+2y+6 < 0 ⇒ (x,y) au-dessous de la droite
Attention que pour tester la position exacte sur la droite, ça peut ne pas marcher :
def f(x,y):
return 4*x+2*y+6
from fractions import Fraction
x=Fraction(55, 100)
y=-Fraction(41, 10)
print(x, y, f(x,y)==0)
x,y=float(x), float(y)
print(x, y, f(x,y)==0)
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Découverte Python Doc Tkinter Les chaînes de caractères
Le Tout est souvent plus grand que la somme de ses parties.
PB68
Découverte Python Doc Tkinter Les chaînes de caractères