为什么表达式(False或False或False或True)等于False?

时间:2019-03-05 20:59:18

标签: python

为什么返回my_formula = if (df2$if_a == 1) { GN1 ~ PEC3 + PEC4 + AC6 } else { GN1 ~ GN2 + GN3 + E10 + PSV7 + PEC3 } c_SA = lm(formula = my_formula, data = df)

False

我得到的结果:

def checkio(m):
    for i in range(len(m)):
        for j in range(len(m)):
            try:
                print(i, j, (m[i][j], m[i + 1][j - 1], m[i + 2][j - 2], m[i + 3][j - 3]))
                print(m[i][j] == m[i + 1][j - 1] == m[i + 2][j - 2] == m[i + 3][j - 3])
                if m[i][j] == m[i][j + 1] == m[i][j + 2] == m[i][j + 3] or \
                        m[i][j] == m[i + 1][j] == m[i + 2][j] == m[i + 3][j] or \
                        m[i][j] == m[i + 1][j + 1] == m[i + 2][j + 2] == m[i + 3][j + 3] or \
                        m[i][j] == m[i + 1][j - 1] == m[i + 2][j - 2] == m[i + 3][j - 3]:
                    return True
            except:
                pass
    return False

更新:给您一个NxN矩阵(4≤N≤10)。您应该检查是否有4个或更多匹配数字的序列。该序列可以水平,垂直或对角线放置(NW-SE或NE-SW对角线)。

更新2:如果我对每个比较都执行0 0 (1, 1, 1, 3) False 0 1 (5, 2, 5, 3) False 0 2 (4, 2, 1, 1) False 0 3 (4, 4, 4, 4) True False ,则一切正常,但是为什么它不能与try一起使用?

更新3:Thx martineau,异常工作,因为比较的第一部分具有除外(列表索引超出范围),而其他部分未进行比较。

1 个答案:

答案 0 :(得分:0)

Martinau,例外工作,因为比较的第一部分具有除外(列表索引超出范围),而其他部分未进行比较。