能否在if语句的运算符比较中包含多个变量?简化范围判断方法
简洁实现双变量范围判断的方法
方法一:提取重复值+all()函数简化
先把重复转换的int(dimensions)提取为变量,再用all()批量检查两个坐标是否符合范围,避免重复编写判断逻辑:
max_dim = int(dimensions) x = int(pizzeria_location_x) y = int(pizzeria_location_y) if all(1 <= coord <= max_dim for coord in (x, y)): # 执行你的业务逻辑
方法二:封装辅助函数(适合多处复用)
如果这类范围判断在代码中多次出现,封装成小函数能进一步减少重复,让代码更易读:
def is_in_valid_range(num, min_val=1): max_val = int(dimensions) return min_val <= int(num) <= max_val if is_in_valid_range(pizzeria_location_x) and is_in_valid_range(pizzeria_location_y): # 执行你的业务逻辑
额外优化点
如果pizzeria_location_x和pizzeria_location_y本身可以提前转换为整数,建议在判断前统一处理,避免在判断里重复调用int()转换,提升代码效率和可读性。
内容的提问来源于stack exchange,提问作者Ayman.1302
相关产品推荐
相关产品推荐

