所以我有这个我正在研究的程序。这是迄今为止的代码:
A = [[2,4], [7,0], [6,3]]
B = [[3,1], [-1,8], [-3, 3]]
def Print(A):
for i in range(len(A)):
line = "\t|"+str(A[i][0])
for j in range(1, len(A[i])):
line = line + "\t" + str(A[i][j])
line = line + "|"
print(line)
def matrix_add(A,B):
Z = []
for i in range(len(A)):
row = []
for j in range(len(A[0])):
row.append(A[i][j]+B[i][j])
Z.append(row)
return Z
print("A + B:")
Print(matrix_add(A,B))
我得到的印刷声明是:
A + B:
|5 5|
|6 8|
|3 6|
但我需要的印刷声明是:
A + B:
|5 5|
|6 8|
|3 6|
了解矩阵如何更靠近A + B: 我如何修复程序来执行此操作?我无法弄明白。
我尝试向line = "\t|"+str(A[i][0])
添加空格,因此它更改为line = " |"+str(A[i][0])
,但只是将print语句更改为:
A + B:
|5 5|
|6 8|
|3 6|
我需要它看起来完全一样。
答案 0 :(得分:1)
在这第一行:
line =“\ t |”+ str(A [i] [0])
您需要将标签(\ t)更改为不会向远处移动的标签。也许有几个空格?
答案 1 :(得分:0)
您可以使用Python拥有的许多字符串格式选项。
http://docs.python.org/2/library/string.html#format-specification-mini-language
def Print(A):
for i in range(len(A)):
line = "{0: >6}".format("|"+str(A[i][0]))
for j in range(1, len(A[i])):
line = line + "{0: >4}".format(str(A[i][j]))
line = line + "|"
print(line)
如果您输入较大的数字,例如10
,则缩进会减1。您可以确定要格式化的字符串的长度,并使用长度使其更加通用。