2010-11-27 28 views
1

Comme, par exemple:Existe-t-il un moyen dans python3 de vérifier plus d'une chose?

pie = 1 
if pie == 1 OR 2: 
    print("pie is either 1 or 2!") 
else: 
    print("pie is not 1 or 2!") 

Sauf que vous savez, quelque chose qui a fait l'effet escompté. Parce que ça ne marche pas. : P

+0

Suite à votre règle, si je l'ai écrit 'si pie == 1 ou tarte == 2' le compilateur interpréter cela comme si' pie == 1 ou tarte == (tarte == 2) '. Ce serait confus. De plus, dans ce cas, si tarte est toujours un entier, vous pouvez écrire 'if 1 <= pie <= 2'. –

Répondre

3
if pie == 1 or pie == 2 
... 
if pie in (1, 2) 
... 
+1

Pour la deuxième syntaxe, l'utilisation d'un tuple serait préférable car vous n'allez pas le changer. Pas que ça va faire n'importe quelle différence dans ce cas au moins, mais c'est la meilleure convention :) – user225312

+0

Cela devrait être un tuple! Python construit des tuples littéraux quelque chose comme cinq fois plus vite que des listes littérales. – aaronasterling

+0

@aaronsterling @sukhbir En effet. Je viens juste de mon code, où il y avait une liste. Fixe, merci. – khachik

3

De la même manière que dans 2.x.

if pie in (1, 2): 
    ... 
+0

+1 pour (a) étant le premier (b) ayant raison. – aaronasterling