Python生成3个随机列表及行求和N×N矩阵的代码问题咨询
代码问题排查与功能实现
原有代码错误点
- 你定义的
lists_of_lists实际是对三个随机列表分别做整体求和,得到的是长度为3的总求和结果列表,不是三个列表的集合 - 后续计算对应位置和的列表推导式没有赋值给变量,计算结果直接被丢弃
- 最终打印的
lists_of_lists自然不是你需要的对应位置求和结果
修正后完整代码(含两类功能实现)
import random # ---------------------- 功能1:3个随机列表对应位置求和 ---------------------- # 生成3个长度为9的随机列表(元素范围1-100) randomlist1 = [random.randint(1,100) for _ in range(9)] randomlist2 = [random.randint(1,100) for _ in range(9)] randomlist3 = [random.randint(1,100) for _ in range(9)] print("随机列表1:", randomlist1) print("随机列表2:", randomlist2) print("随机列表3:", randomlist3) # 计算三个列表对应位置元素的和 pos_sum_list = [sum(x) for x in zip(randomlist1, randomlist2, randomlist3)] print("对应位置求和结果:", pos_sum_list) # ---------------------- 功能2:构造N×N矩阵,最后一列为行前N-1列求和 ---------------------- N = 5 # 可自定义N的数值 matrix = [] for _ in range(N): # 生成前N-1列1-10范围内的随机数 row = [random.randint(1,10) for _ in range(N-1)] # 最后一列追加前N-1列的求和结果 row.append(sum(row)) matrix.append(row) print(f"\n{N}×{N}矩阵:") for row in matrix: print(row)
代码运行说明
- 功能1最终输出的
pos_sum_list长度和三个随机列表一致,每个元素为三个列表同索引位置的数值和 - 功能2可通过修改
N的数值自定义矩阵维度,每一行最后一个元素为当前行前N-1个元素的求和结果
内容的提问来源于stack exchange,提问作者Juan Jose Gonzalez
相关产品推荐
相关产品推荐

