2010-01-13 7 views

Répondre

53

Escape the backslash:

if message.value[0] == "/" or message.value[0] == "\\": 

De l'documentation:

La barre oblique inverse (\) caractère est utilisé pour caractères d'échappement qui ont autrement une signification particulière, comme la nouvelle ligne, backslash lui-même, ou le citation caractère.

+4

Les parenthèses sont valides, mais sans signification. –

2

Essayez comme ceci:

if message.value[0] == "/" or message.value[0] == "\\": 
    do_stuff 
59

Lorsque vous avez seulement besoin de vérifier pour l'égalité, vous pouvez également utiliser simplement l'opérateur in pour faire un test d'appartenance à une suite d'éléments reconnus:

if message.value[0] in ('/', '\\'): 
    do_stuff() 
+4

Succinct et Pythonic. –

+11

Ou juste 'message.value [0] dans"/\\ ":' car les chaînes sont itérables. –

+2

Si vous pouvez être certain que 'message.value [0]' est une chaîne de longueur 1 (oui, je sais, je sais ...). –

1

Si message.value [] est une chaîne:

if message.value[0] in ('/', '\'): 
    do_stuff() 

Si ce n'est pas

0

Utilisez le code suivant pour effectuer un conditionnement if-else en python: Ici, je vérifie la longueur de la chaîne. Si la longueur est inférieure à 3 alors ne rien faire, si plus de 3 alors je vérifie les 3 derniers caractères. Si les 3 derniers caractères sont "ing" alors j'ajoute "ly" à la fin sinon j'ajoute "ing" à la fin.

Code-

if (len(s)<=3): 
    return s 
elif s[-3:]=="ing": 
    return s+"ly" 
else: return s + "ing"