Ama*_*ora 1 python if-statement
以下是我需要做的事情:
if ((a<100 and a>-100) and (b<100 and b>-100)):
#i.e., if both a and b lie in the interval (-100,100)
Run Code Online (Sandbox Code Playgroud)
想知道我是否可以用更短的方式写这个.
UPD:找到以下方式.什么比这短?(虽然只有2个变量,这不是很短)
if all((x > -100 and x < 100) for x in (a,b))
Run Code Online (Sandbox Code Playgroud)
你可以写
(a<100 and a>-100)
Run Code Online (Sandbox Code Playgroud)
如
-100 < a < 100
Run Code Online (Sandbox Code Playgroud)
因此,您可以简化表达式
if -100 < a < 100 and -100 < b < 100:
#Do things
Run Code Online (Sandbox Code Playgroud)
由于您的限制是零对称的,因此可以使用进一步的简化:
abs(a) < 100
Run Code Online (Sandbox Code Playgroud)
这个怎么样:
if abs(a) < 100 and abs(b) < 100:
# do work
Run Code Online (Sandbox Code Playgroud)
要么
if all(abs(x) < 100 for x in (a,b))
Run Code Online (Sandbox Code Playgroud)