51 votes

Paramètre de variable conditionnelle Python

Pour une raison quelconque, je ne me souviens pas comment faire cela - je pense qu'il y avait un moyen de définir une variable en Python, si une condition était vraie ? Ce que je veux dire c'est ça :

  value = 'Test' if 1 == 1

Où il devrait, espérons-le, définir la valeur sur « Test » si la condition (1 == 1) est vraie. Et avec cela, j'allais tester plusieurs conditions pour définir différentes variables, comme ceci :

  value = ('test' if 1 == 1, 'testtwo' if 2 == 2)

Et ainsi de suite pour quelques conditions seulement. Est-ce possible?

98voto

Donald Miner Points 18116

C'est ce qui se rapproche le plus de ce que vous recherchez :

 value = 'Test' if 1 == 1 else 'NoTest'

Sinon, il n'y a pas grand chose d'autre.

7voto

Vous pouvez également faire :

 value = (1 == 1 and 'test') or (2 == 2 and 'testtwo') or 'nope!'

Je préfère comme ça :D

1voto

Serhii Aksiutin Points 521

Terme moins évident mais joli :

 value = ('No Test', 'Test')[1 == 1]
print(value) # prints 'Test'

0voto

Pinja Jäkkö Points 13

value = [1, 2][1 == 1] ;)

... eh bien, je suppose que cela fonctionnerait aussi : value = ['none true', 'one true', 'both true'][(1 == 1) + (2 == 2)]

Pas exactement une bonne pratique de programmation ou un code lisible mais amusant et compact, à tout le moins. Python traite les booléens comme des nombres, donc True vaut 1 et False vaut 0. [1, 2][True] = 2 , [1, 2][False] = 1 et [1, 2, 3][True + True] = 3

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X