gpt4 book ai didi

python - 避免在我的代码中使用多个(未嵌套的)if 语句

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:34 24 4
gpt4 key购买 nike

我正在编写一个函数来扫描特定 map (二维数组)。为了避免扫描数组外的点,我写了一些 if 语句,但感觉是错误的、冗长的、低效的方法。

H为 map 的高度值,intW是宽度,intc 是当前点,一个包含 x 和 y 值的元组。

    floorH = c[0]-D
floorW = c[1]-D
ceilingH = c[0]+D+1
ceilingW = c[1]+D+1
if floorH < 0:
floorH = 0
if floorW < 0:
floorW = 0
if ceilingH > H:
ceilingH = H
if ceilingW > W:
ceilingW = W

我怎样才能写得更好?

提前致谢:)

最佳答案

您可以不使用条件,而是使用 max 和 min 函数。

floorH = c[0]-D
floorW = c[1]-D
ceilingH = c[0]+D+1
ceilingW = c[1]+D+1
floorH = max(floorH, 0)
floorW = max(floorW, 0)
ceilingH = min(ceilingH , H)
ceilingW = min(ceilingW , W)

实际上你可以让它更短:

floorH  = max(c[0]-D, 0)
floorW = max(c[1]-D, 0)
ceilingH = min(c[0]+D+1, H)
ceilingW = min(c[1]+D+1, W)

关于python - 避免在我的代码中使用多个(未嵌套的)if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54655227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com