2017-08-03 42 views
2

我想縮短我的if, elif, else發言,下面是它看起來:如何在python中縮短'if,else'語句?

transparency == False 
if transparency == 'true': 
    transparency = True 
elif transparency == 'false': 
    transparency = False 
else: 
    transparency = True 

這裏是我的嘗試:

transparency == False 
transparency == 'true' ? True: False #boolean type 

我以爲它會像JavaScript的速記工作,我是錯誤?

回答

5

你太過於複雜了。該值是False只有最初等於'false'True別的

transparency = transparency != 'false' 

,否則你有你的JavaScript語法混合了Python的; Python conditional expression syntax拼寫爲

<true_expr> if <test> else <false_expr> 
+0

我知道我過於複雜的事情,這就是爲什麼我想知道如何在一行中做到這一點:) – Lindow

3

基本上,如果transparency不是'false',它將是True。所以...

transparency = transparency != 'false' 
+0

「'id想縮短我的if,else if,else語句,」你假設他的邏輯打破了他的概念。 –

+2

這是邏輯OP的代碼表示。結果完全一樣。 – deceze

+0

@RoyHolzem答案是一種在任何情況下都有效的單行程,它確實尊重我的邏輯。 – Lindow