oor*_*soy 6 python if-statement
我试图将if-elif-else语句压缩成一行.我试过了:
a == 1 ? print "one" : a == 2 ? print "two" : print "none"
Run Code Online (Sandbox Code Playgroud)
但是我遇到了语法错误.我也尝试过:
print "one" if a == 1 else print "two" if a == 2 else print "none"
Run Code Online (Sandbox Code Playgroud)
但我也遇到了语法错误.
我可以做些什么来更好地解决这些问题或创建一个有效的答案?
Python中的"三元"运算符是表单的表达式
X if Y else Z
Run Code Online (Sandbox Code Playgroud)
where X和Z是值,Y是一个布尔表达式.请尝试以下方法:
print "one" if a==1 else "two" if a==2 else "none"
Run Code Online (Sandbox Code Playgroud)
这里,表达式"two" if a==2 else "none"的值是第一个返回的值,当a==1为false时.(它解析为"one" if a == 1 else ( "two" if a==2 else "none").)它返回的一个"one","two"或者"none",然后将其作为唯一的参数传递print声明.
使用嵌套条件表达式(三元运算符):
>>> a = 2
>>> print 'one' if a == 1 else 'two' if a == 2 else 'none'
two
Run Code Online (Sandbox Code Playgroud)