Python实现用户输入矩阵维度、元素并打印的技术求助
解决Python矩阵输入与打印问题
你的代码核心问题是把所有矩阵元素都存入了一维列表,而数学中的矩阵在Python里需要用**二维列表(列表的列表)**来表示——每一行是一个独立的子列表,再将这些行列表整合到一个大列表中,这样才能正确对应矩阵的结构。
修改后的完整代码
# 初始化空矩阵 matrix = [] # 获取矩阵的行、列数 rows = int(input("Enter the number of rows: ")) cols = int(input("Enter the number of columns: ")) # 循环输入每一行的元素 for i in range(rows): # 为当前行创建一个空列表,用于存储该行的所有元素 current_row = [] print(f"\n请输入第 {i} 行的元素:") for j in range(cols): element = int(input(f"第 {j} 列的元素: ")) current_row.append(element) # 将当前行添加到矩阵中 matrix.append(current_row) # 基础方式打印矩阵 print("\n你的矩阵是:") for row in matrix: print(row) # 可选:更美观的格式化打印(元素用空格分隔) print("\n格式化后的矩阵:") for row in matrix: print(" ".join(map(str, row)))
关键改动说明
- 新增
current_row变量:每次外层循环处理一行时,都会创建一个空的子列表,专门存放当前行的元素,避免所有元素混在一个一维列表里 - 调整元素存储逻辑:内层循环将元素添加到
current_row,而非直接添加到矩阵的大列表;外层循环结束时,再把整行的子列表加入矩阵 - 优化打印逻辑:通过逐行遍历二维列表,实现了类似数学矩阵的打印效果,可选的格式化打印能让输出更直观
后续扩展提示
这种二维列表结构完全适配后续的矩阵运算需求,你可以复用这段代码的逻辑来输入第二个矩阵,再基于列表的遍历、索引操作实现矩阵加法、乘法等运算。
内容的提问来源于stack exchange,提问作者randomgirl
相关产品推荐
相关产品推荐

