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

Résolu/Fermé
Lecodeurhtmlcss Messages postés 76 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 76 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 23392 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 Ambassadeur 1 556
29 août 2021 à 20:40
bonjour,
qu'as-tu essayé?
3
Lecodeurhtmlcss Messages postés 76 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 24 août 2022 1
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 76 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.
1
Lecodeurhtmlcss Messages postés 76 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 24 août 2022 1 > vortex
30 août 2021 à 10:56
Ok, merci beaucoup !
0