Si instruction pour plusieurs valeurs
-
21-12-2019 - |
Question
Voici mon objectif dans un exemple.Si vous pouviez m'aider à le terminer, ce serait génial !
exampleNumbers = [One,Uno,Two,Dos]
randomNumber = random.choice(exampleNumbers)
À partir de maintenant, je veux que ça change randomNumber
à 1 si la sélection aléatoire de exampleNumbers
est Un ou Uno ou changer randomNumber
à 2 si la sélection aléatoire de exampleNumbers
est Deux ou À faire.
Je pense que je peux le faire en utilisant une instruction if, mais je ne sais pas comment utiliser une instruction if avec plusieurs valeurs.
Donc, fondamentalement, si la sélection aléatoire est Deux par exemple, je veux qu'il fasse ensuite randomNumber
= 2.
Désolé si je n'ai pas très bien expliqué cela, j'y arrive lentement mais mes connaissances et ma terminologie sont encore à un état amateur.Je serai heureux de cocher et de voter pour toutes les bonnes réponses !
Merci d'avance!:)
La solution
Vous pouvez utiliser l'opérateur in
:
if randomNumber in (One,Uno):
randomNumber = 1
else:
randomNumber = 2
Ou le classique or
opérateur booléen :
if randomNumber == One or randomNumber == Uno:
randomNumber = 1
else:
randomNumber = 2
Le in
c'est génial de vérifier beaucoup de valeurs.
Le or
, avec les autres opérateurs booléens and
et not
peut être utilisé pour construire des expressions logiques arbitrairement complexes.
Autres conseils
vous pouvez utiliser and
et or
aux déclarations composées.et pour plusieurs déclarations, vous pouvez également utiliser des parenthèses (c'est-à-dire : (True and False) or (False or True)
).Il existe un ordre d’opérations qui s’étend essentiellement de gauche à droite.Donc, pour votre question, vous pouvez le faire
if(num == "two" or num == "dos"):
//do things
elif (num == "one" or num == "uno"):
//do other things
Vous pouvez également définir des options :
options = { One : thisIsOne,
Uno : thisIsOne,
Two : thisIsTwo,
Dos : thisIsTwo,
}
def thisIsOne()
randomNumber = 1
def thisIsTwo()
randomNumber = 2
Vous pourrez alors simplement appeler options[randomNumber]()
Je suis un peu rouillé avec mon python mais je suis presque sûr que cela fonctionne (tout comme la réponse précédente de rodrigo !question de préférence et de réutilisabilité)