2010-01-13 86 views
23
if (message.value[0] == "/" or message.value[0] == "\"): 
    do stuff. 

我敢肯定这是一个简单的语法错误,但这个if语句有些问题。Python如果陈述多条件

+0

有什么错误讯息? – Kena 2010-01-13 18:16:48

回答

53

转义反斜线:

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

documentation

反斜杠(\)字符用于 转义字符,否则有 特殊的含义,如换行, 反斜杠本身,或者报价 字符。

+4

括号是有效的,但没有意义。 – 2010-01-13 18:17:18

2

尝试这样的:

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

当你只需要检查平等,你也可以简单地使用in运营商做了成员资格测试在接受元素的序列:

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

Succinct和Pythonic。 – 2010-01-13 18:19:22

+11

或者只是'/ \\'中的message.value [0]:'因为字符串是可迭代的。 – 2010-01-13 18:20:49

+2

如果你可以确定'message.value [0]'是一个长度为1的字符串(是的,我知道,我知道......)。 – 2010-01-13 18:23:26

1

如果message.value []是字符串:

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

如果不是str

0

使用下面的代码在python中执行if-else条件: 这里,我检查字符串的长度。如果长度小于3,则不做任何事情,如果超过3则检查最后3个字符。如果最后3个字符是“ing”,那末在末尾加上“ly”,否则我在末尾加上“ing”。

代码 -

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