Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有命令打印函数在Python中使用的步骤?_Python - Fatal编程技术网

是否有命令打印函数在Python中使用的步骤?

是否有命令打印函数在Python中使用的步骤?,python,Python,我在做杜立特分解。我的函数很好(没有错误),但是我没有收到正确的结果。我确信函数中的一切都很好,除了我可能放错位置的2-4个变量。所以我的疑问是,是否有一个函数或命令一步一步地打印这个函数正在使用的所有计算结果,这样我就可以理解到底出了什么问题 我正在使用Python 3.6.2、Geany和Windows 10 代码如下: def doolittle(A): n = len(A) b = 0 c = 0 L = [[0.0] * n for s in range(n)] U = [[0.0]

我在做杜立特分解。我的函数很好(没有错误),但是我没有收到正确的结果。我确信函数中的一切都很好,除了我可能放错位置的2-4个变量。所以我的疑问是,是否有一个函数或命令一步一步地打印这个函数正在使用的所有计算结果,这样我就可以理解到底出了什么问题

我正在使用Python 3.6.2、Geany和Windows 10

代码如下:

def doolittle(A):
n = len(A)
b = 0
c = 0
L = [[0.0] * n for s in range(n)]
U = [[0.0] * n for s in range(n)]
for k in range(n):
    L[k][k] = 1.0
    for j in range(n):
        b += L[k][j] * U[j][k]
        U[k][j] = A[k][j] - b
    for i in range(k+1,n):
        c += L[k][i] * U[i][k]
        L[k][j] = (A[k][j] - c)/U[k][k]
return(L,U)

A = [[1, -3, 2], [-2,8,-1], [4, -6, 5]]
print(doolittle(A))
尝试在您想要输入函数的位置使用此选项


在您想输入函数的位置尝试使用此选项。

请将您的代码添加到问题中。请将您的代码添加到问题中。谢谢,这正是我想要的。但它确实提出了另外两个问题。1-我可以用变量中的数字进行调试吗?它确实循环了我正在使用的'fors',但是它没有显示变量所取的数字,所以对我来说有点模糊,因为我的主要问题是要准确地看到算法在哪里得到了一些错误的方程。2-我如何使用该功能?我使用了ipdb.set_trace()并调试了脚本,忽略了函数。我希望将脚本与函数一起执行,因此我不必每次调试时都撤消函数。如果要转到下一个函数,可以使用c;如果要转到函数中的下一行,可以使用n。此外,如果它是针对函数的,那么在您输入该函数后,您可以将这个ipdb.set_trace()放入其中。谢谢,这绝对是我想要的。但它确实提出了另外两个问题。1-我可以用变量中的数字进行调试吗?它确实循环了我正在使用的'fors',但是它没有显示变量所取的数字,所以对我来说有点模糊,因为我的主要问题是要准确地看到算法在哪里得到了一些错误的方程。2-我如何使用该功能?我使用了ipdb.set_trace()并调试了脚本,忽略了函数。我希望将脚本与函数一起执行,因此我不必每次调试时都撤消函数。如果要转到下一个函数,可以使用c;如果要转到函数中的下一行,可以使用n。此外,如果是针对某个函数,则在输入该函数后,可以将此ipdb.set_trace()放入。
import ipdb
ipdb.set_trace()