2016-07-27 84 views
0

如果標題是有點晦澀縮短串聯,我想去做的例子是:的Python:使用內嵌條件語句

print("Status: " + if serverIsOnline: "Online" else: "Offline")

我知道,這是不合適的,但我試圖要做的是檢查serverIsOnline是否爲True然後打印Status: Online否則Status: Offline。我知道這是可能的,我已經看到它完成了,但我不記得它是如何完成的。

這是較短相當於:

if serverIsOnline: 
    print("Status: Online") 
else: 
    print("Status: Offline") 

可能有人請我提提神?

+1

告訴我生命的憎恨,什麼是錯的,我的問題是值得一downvote? – spikespaz

+0

不是我,但也許是因爲您可以通過使用Google搜索問題標題輕鬆找到答案? –

+0

@StefanPochmann當我編輯這個問題時,請注意我,以包含對該投訴的駁斥。 – spikespaz

回答

3

什麼你要找的是一個conditional expression也被稱爲「三元」的表達,一般用?運營商,通過許多其他語言使用)。

print("Status: " + "Online" if serverIsOnline else "Offline") 

語法:True if condition else False

+0

接受的答案。快速簡單的執行,謝謝。 – spikespaz

+0

Np :) @spikespaz – ospahiu

1

只要指定了else(只有if是SyntaxError),Python允許內聯if/else。大多數Python程序員稱此爲它的三元:

>>> server_online = True 
>>> print('Status: ' + ('Online' if server_online else 'Offline')) 
Status: Online 
>>> server_online = False 
>>> print('Status: ' + ('Online' if server_online else 'Offline')) 
Status: Offline 
>>> print('Status: ' + 'Online' if server_online) 
    File "<stdin>", line 1 
    print('Status: ' + 'Online' if server_online) 
               ^
SyntaxError: invalid syntax