Python : condition entre deux valeurs, dans les deux sens rapide

Résolu/Fermé
Lecodeurhtmlcss
Messages postés
77
Date d'inscription
lundi 20 avril 2020
Statut
Membre
Dernière intervention
24 août 2022
- 29 août 2021 à 19:45
Lecodeurhtmlcss
Messages postés
77
Date d'inscription
lundi 20 avril 2020
Statut
Membre
Dernière intervention
24 août 2022
- 30 août 2021 à 10:56
Bonsoir !
Je suis sur un projet en python qui nécessite autant de rapidité que possible, mon niveau est plutôt débutant.
Donc : à un endroit de mon code, j'utilise une condition
if
qui dot tester si une valeur est entre deux autres, du type
a<machin<b
. Mais la condition doit aussi marcher pour
a>machin>b
car a et b sont variables et peuvent être négatifs ! Y-a-t-il une fonction toute bête pour faire
a>machin>b and a<machin<b
plus logiquement ?

Merci beaucoup !

1 réponse

yg_be
Messages postés
20291
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 septembre 2022
1 224
29 août 2021 à 20:40
bonjour,
qu'as-tu essayé?
2
Lecodeurhtmlcss
Messages postés
77
Date d'inscription
lundi 20 avril 2020
Statut
Membre
Dernière intervention
24 août 2022
2
Modifié le 29 août 2021 à 21:29
████████████████████████ EDIT ██████████████████████

Ah ! Je voulais dire
a>machin>b or a<machin<b
! OR bien sûr !
(Et donc je sais qu'on peut faire
if a>machin>b or a<machin<b
, mais il n'y aurait pas une fonction du type if machin between(a,b) ?)
0
vortex > Lecodeurhtmlcss
Messages postés
77
Date d'inscription
lundi 20 avril 2020
Statut
Membre
Dernière intervention
24 août 2022

29 août 2021 à 22:26
Bonsoir,

Non, ça n'existe pas. Mais pas dur à faire.

def number_between(v, a, b, equal=False):
    if a > b: a, b = b, a
    return a < v < b if not equal else a <= v <= b


Niveau rapidité, ben c'est une fonction python, et niveau utilité, bof, généralement on sait ce que l'on doit comparer dans un programme.
0
Lecodeurhtmlcss
Messages postés
77
Date d'inscription
lundi 20 avril 2020
Statut
Membre
Dernière intervention
24 août 2022
2 > vortex
30 août 2021 à 10:56
Ok, merci beaucoup !
0