Python 断言打印数组的函数
我正在尝试测试这个函数Python 断言打印数组的函数,python,arrays,assert,assertion,Python,Arrays,Assert,Assertion,我正在尝试测试这个函数 def print_board(M): for i in range (M.shape[0]): line='' for j in range (M.shape[1]): line+=str(int(M[i,j])) print(line) 我创建了一个新文件来测试它,并导入了我的文件和函数数组,但我不太确定如何测试它,因为我没有返回它,我尝试了以下方法: assert(print_board
def print_board(M):
for i in range (M.shape[0]):
line=''
for j in range (M.shape[1]):
line+=str(int(M[i,j]))
print(line)
我创建了一个新文件来测试它,并导入了我的文件和函数数组,但我不太确定如何测试它,因为我没有返回它,我尝试了以下方法:
assert(print_board(array([[1,1,1],[0,0,0],[1,1,1]],dtype='bool')) == '''111 000 111''')
但是得到
断言者
您可以做的是重定向Python标准输出,其中print将其发送到一个字符串,然后比较该字符串
请参阅以了解如何执行此操作的说明。他的功能对我来说太难了,我无法理解他给出的答案,无法将其应用于我自己,对不起。您的猜测是正确的;因为print_board没有return语句,所以返回值是Python的'None'值。谢谢,我会试试的