为什么我得到None的返回值,这是什么意思?

时间:2013-10-06 20:31:25

标签: python gaussian

我不太了解,结果:“没有”。我正在尝试开始消除(高斯)代码,但我收到结果:“无”。

from numpy import *
a= array([[1,0],[0,2]])
b= array([1,4])

def gauss(a,b):
    n=len(b)

    k=0
    while k in range (0, n-1):
        i=k+1
        while i in range ((k+1),(n)):
            a[i,k]=a[i,k]/a[k,k]
            j=k+1
            while j in range ((k+1),(n)):
                a[i,j]=a[i,j]-a[i,k]*a[i,k]
                j=j+1
            b[i]=b[i]-a[i,k]*b[k]
            i=i+1
        k=k+1
        return a
        return b

 print gauss(a,b)

1 个答案:

答案 0 :(得分:4)

默认情况下,如果没有None语句,Python中的函数将返回return,或者它不返回任何值。在您的情况下,您可以将return a, b添加到函数的末尾。结果是gauss(a, b)将返回具有新计算值的元组(a, b)

from numpy import *
a= array([[1,0],[0,2]])
b= array([1,4])

def gauss(a,b):
    n=len(b)

    k=0
    while k in range (0, n-1):
        i=k+1
        while i in range ((k+1),(n)):
            a[i,k]=a[i,k]/a[k,k]
            j=k+1
            while j in range ((k+1),(n)):
                a[i,j]=a[i,j]-a[i,k]*a[i,k]
                j=j+1
            b[i]=b[i]-a[i,k]*b[k]
            i=i+1
        k=k+1
    return a, b

print gauss(a,b)