我试图通过制作一个测试用例来增加测试的覆盖率,该测试用例将在下面的程序中检查s矩阵的if条件。我不知道我传递给函数np.linalg.svd
的矩阵为我的测试用例得到特定的s矩阵。
为了找到那个矩阵,我创建了以下程序,我希望它能运行直到我得到那个矩阵。但由于某种原因,它会在执行少量后停止生成错误超出最大递归深度。我不知道为什么它会像这样。
我是由python program.py
运行的
请帮忙
import numpy as np
import random
import pivot as p
def randomGenerator():
condition = True
while(condition):
matrices = np.random.rand(4, 4)
print(matrices)
u, s, v = np.linalg.svd(matrices, full_matrices=False)
Rank = 0
for i in range(len(s)):
if s[i] < 0.01:
s[i] = 0
print(s)
condition = False
else:
randomGenerator()
# Main #
randomGenerator()
答案是没有递归就这样做。感谢G.安德森。
import numpy as np
import random
import pivot as p
condition = True
while(condition):
matrices = np.random.rand(4, 4)
print(matrices)
u, s, v = np.linalg.svd(matrices, full_matrices=False)
Rank = 0
for i in range(len(s)):
if s[i] < 0.01:
s[i] = 0
print(s)
condition = False