You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python方阵求和代码测试未通过,请求排查故障原因

方阵加法程序调试问题

任务需求

编写程序实现两个方阵的加法运算:

  • 先读取矩阵维度N
  • 逐行读取第一个方阵的N*N个数值
  • 再读取第二个方阵的N*N个数值
  • 最终将结果矩阵按每行一行的格式输出

现有代码

from operator import add
#Enter a digit for you matrix, e.g if you want it to be 2x2 enter 2
n = int(input())
#Input digits for both matrixes rows one at a time
matrix1_r1 = [int(input()) for x in range(n)]
matrix1_r2 = [int(input()) for x in range(n)]

matrix2_r1 = [int(input()) for x in range(n)]
matrix2_r2 = [int(input()) for x in range(n)]

final1 = list(map(add, matrix1_r1, matrix2_r1))
final2 = list(map(add, matrix1_r2, matrix2_r2))

print(final1)
print(final2)

平台示例输入

2
1
2
3
4
5
6
7
8

平台示例输出

[6, 8]
[10, 12]

问题原因

你的代码仅硬编码支持2×2维度的方阵,无法处理N为其他值的测试用例,这就是导致其中一个测试用例失败的核心原因,并非平台问题。本地测试只覆盖了2x2场景,所以看起来正常,但平台必然存在N≠2的测试用例。

改进后的通用代码

基础循环写法:

n = int(input())

# 读取第一个N×N矩阵
matrix1 = []
for _ in range(n):
    row = [int(input()) for _ in range(n)]
    matrix1.append(row)

# 读取第二个N×N矩阵
matrix2 = []
for _ in range(n):
    row = [int(input()) for _ in range(n)]
    matrix2.append(row)

# 计算矩阵加法并输出结果
for i in range(n):
    result_row = [matrix1[i][j] + matrix2[i][j] for j in range(n)]
    print(result_row)

简洁列表推导式写法:

n = int(input())

matrix1 = [[int(input()) for _ in range(n)] for _ in range(n)]
matrix2 = [[int(input()) for _ in range(n)] for _ in range(n)]

for r1, r2 in zip(matrix1, matrix2):
    print([a + b for a, b in zip(r1, r2)])

内容的提问来源于stack exchange,提问作者ChioStar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 19:56:08