缩短2个变量的IF条件(相同比较)

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)

Sim*_*ons 6

你可以写

(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)


Gau*_*don 5

这个怎么样:

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)