Python如何实现矩阵格式打印输出?现有代码运行结果不符预期求解决
问题分析
- 原代码内层循环调用
print("\n",j)时,强制在每个数字前添加换行符,再加上Python的print函数默认自带结尾换行符,最终每个数字都会单独占一行,无法实现同行输出多个数字的效果 - 内层循环结束后的
print(" ")会额外打印空行,进一步打乱输出结构
修正方案
方案1:保留嵌套循环写法
修改print的结束参数,内层打印数字时不换行,用空格分隔,走完一行后再统一换行:
block = [1,2,3,4] for i in block: for j in block: print(j, end=' ') # 输出完一行后换行 print()
如果需要严格对齐预期效果,消除每行末尾多余的空格,可以调整为:
block = [1,2,3,4] for i in block: line_content = [] for j in block: line_content.append(str(j)) print(' '.join(line_content))
方案2:简化写法
直接将每行元素拼接为完整字符串后打印,代码更简洁高效:
block = [1,2,3,4] for _ in block: print(' '.join(map(str, block)))
内容的提问来源于stack exchange,提问作者meysam chaghamirza
相关产品推荐
相关产品推荐

