web-dev-qa-db-fra.com

Comment comparer une valeur à une barre oblique inverse?

if (message.value[0] == "/" or message.value[0] == "\"):
    do stuff.

Je suis sûr que c'est une simple erreur de syntaxe, mais quelque chose ne va pas avec cette instruction if.

23
DizzyDoo

Échappez à la barre oblique inverse:

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

De la documentation :

Le caractère barre oblique inverse (\) est utilisé pour échapper les caractères qui ont autrement une signification spéciale, tels que la nouvelle ligne, la barre oblique inverse elle-même ou le caractère de citation.

55
bernie

Lorsque vous avez seulement besoin de vérifier l'égalité, vous pouvez également simplement utiliser l'opérateur in pour effectuer un test d'appartenance dans une séquence d'éléments acceptés:

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

Essayez comme ceci:

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

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

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

Si ce n'est pas str

Utilisez le code suivant pour effectuer le conditionnement if-else en python: ici, je vérifie la longueur de la chaîne. Si la longueur est inférieure à 3, ne faites rien, si plus de 3, 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"
0
Darshan Jain