Bonjour
Lorsque l'on regarde la question, ceci ne ressemble en rien à un problème basique
si
volt>53 alors faire a() puis b() , et après, si
<49 !!!! c'est une blague

(puisque la première condition est si
>53)
Donc l'exemple ne représente strictement rien, j'ai plus l'impression que tu te crées un problème sorti de ton imagination, mais sans aucune logique (donc on ne peut répondre à une demande sans logique)
Je suppose qu'écrire que 2 valeurs 49 et 53 est de la flemme, sinon bonjour la logique
"mon code est infinie" : facile de faire du code "infini" puisque ici, il n'est jamais exécuté

(si la_terre est carrée et la_terre est plate alors ... )
Comme le dit Sve@r, tu n'as pas cherché à factoriser (et je me demande même si tu sais que l'on peut passer des paramètres à une fonction... Non? alors cette question n'a pas de sens)
et vu qu'il n'y a même pas un "else" difficile de voir un "et l'inverse quand"
-----------
Pour finir sur une note positive, je vais te donner un petit exemple de code (désolé code sans doute hors de portée d'un grand débutant)
Une (des) procédures déclenchées en fonction d'un range, sans doute une usine à gaz bien inutile pour ton réel besoin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| def a(x): print("a", x)
def b(x): print("b", x)
def c(x): print("c", x)
actions = [ # on utilise un dico ou des tuples
{'mini': 0, 'maxi': 15, 'run': a},
{'mini': 16, 'maxi': 25, 'run': None},
{'mini': 36, 'maxi': 65, 'run': b},
{'mini': 40, 'maxi': 50, 'run': c},
]
mesure = 45
print("action pour", mesure)
for action in actions:
if mesure >= action['mini'] and mesure <= action['maxi']:
print(action['mini'], action['maxi'], action['run'])
action['run'](action)
# pas de break : on peut avoir plusieurs actions pour une même mesure |
Partager