2010-01-13 71 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"