有没有办法测试同一范围内的多个变量(范围内的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)

07-28 10:51