2017-08-03 82 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