有没有办法测试同一范围内的多个变量(范围内的x1,y1,x2,y2 ...)?
我希望if
之后的代码更短
mouv="7647"
x1,y1,x2,y2=int(mouv[0]),int(mouv[1]),int(mouv[2]),int(mouv[3])
if len(mouv)==4 and x1 in range(8) and y1 in range(8) and x2 in range(8) and y2 in range(8):
print("code ok")
最佳答案
使用all
:
if len(muov) == 4 and all(int(x) in range(8) for x in mouv)
或者,如果
range
很大,则最好使用链式比较运算符,因为range
在内存中创建一个列表,并且与简单的数学比较相比比较慢:if len(muov) == 4 and all(0 <= int(x) < 8 for x in mouv)