Исходя из упомянутых вами правил, т. Е. Не может быть так, чтобы r1 = r2 = -1 и c1 = c2 = -1, мы можем предположить, что существуют случаи, когда нам не нужно выполнять все четыре проверки, чтобы выяснить,переменные -1 или нет.
Чтобы использовать эти правила, вам нужно иметь некоторую структуру данных, которая отражает порядок ваших переменных и позволяет пропустить проверки, которые не требуются (например, r1 = -1, чем мыне нужно проверять r2).
Хотя это, возможно, не является более эффективным с точки зрения времени процессора, оно следует логике, что нет необходимости выполнять все проверки переменных в каждом сценарии:
d = {'r1' : 0, 'r2' : -1, 'c1' : -1, 'c2' : 0}
def isMinusOne(x):
if x == -1:
return x
i = 0
while i < len(d):
if isMinusOne(list(d.values())[i]) is not None:
print(list(d.keys())[i])
if i == 0 or i == 2:
i += 2
else:
i += 1
else:
i += 1