if col-2 > 0:
if matrix[row, col-2] != 0:
col -= 2
# some code here 1
else:
# some code here 2
else:
# some code here 2
我有很多这样的代码。不完全像这样,但是我的代码中的许多条件都以相同的方式工作。我想合并if col-2 > 0:
和if matrix[row, col-2] != 0:
,以消除代码中所有重复的行(在此处#一些代码2)。合并的问题是检查某个项目是否非零,即使该项目超出范围也是如此。
答案 0 :(得分:3)
这很简单
if col-2 > 0 and matrix[row, col-2] != 0:
# code 1
else:
# code 2
请注意,如果matrix[row, col-2] != 0
不正确,将不会执行col-2 > 0
。
您可以通过类似以下内容更清楚地看到这一点:
def raiseError():
raise ValueError()
if False and raiseError():
print("Won't get here")
else:
print("No error was raised")