在这种情况下如何使用 if else 或 true false?

how to use if else or true false in this case?

def subst(A):

n = len(A) 
x = n*[0] 

for i in range(n-1, -1, -1):
    s = sum([A[i][j]*x[j]
    for j in range(i+1,n)])
    if A[i][i]!=0:
        x[i] = (A[i][n] - s)/A[i][i]

    else:
        print("has no solution!")    
        break
return x

我尝试了几种使用 Until While True 的方法,但我无法解决这个问题,目的是仅在数组有解时显示数组,但即使没有解,程序也是显示 [0,0] 以及消息错误。这个[0,0]怎么不显示?

嘿,不要从 else 语句中断,而是 return 空字符串。

见:

def subst(A):

    n = len(A) 
    x = n*[0] 

    for i in range(n-1, -1, -1):
        s = sum([A[i][j]*x[j]
        for j in range(i+1,n)])

        if A[i][i]!=0:
                x[i] = (A[i][n] - s)/A[i][i]

        else:
            print("has no solution!")    
            return ""
    return x

print(subst([[0,0,0],[0,0,0]]))