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

时间:2018-09-23 16:35:17

标签: python python-3.x conditional

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

我已经尝试了几种方法,直到直到True,但我无法解决此问题,目的是仅在有解决方案的情况下显示数组,即使没有解决方案,程序也会显示[ 0,0]以及消息错误。我怎么不显示此[0,0]?

1 个答案:

答案 0 :(得分:0)

嘿,请不要违反else语句,而是返回空字符串。

请参阅:

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]]))