Python print()无法将列表元素全部打印在同一行的问题求助
问题根源及解决办法
你的代码里每个pon变量本身就包含换行符\n,这才是输出逐个换行的核心原因,和print的end=''参数无关。
看pon的定义:
pon = ' \n I \n '
它本质是三行文本:
- 开头的9个空格
- 中间的
I - 结尾的9个空格
当你循环打印每个pon时,每个pon内部的\n会强制触发换行,哪怕你设置了end='',也只是取消了print默认的结尾换行,根本管不住pon自带的换行符。
如果想让所有I显示在同一行,你需要按行维度拼接内容,而不是直接打印整个pon。比如这样改:
# 把pon拆成独立的三行 pon_parts = [' ', ' I ', ' '] # 创建9份拆分后的行集合 pon_list = [pon_parts for _ in range(9)] # 按行拼接所有pon的对应部分,再逐行打印 for row in range(3): combined_row = ''.join(pon[row] for pon in pon_list) print(combined_row)
这样输出时,第一行是所有pon的开头空格连在一起,第二行是所有 I 连在同一行,第三行是所有结尾空格连在一起,就能实现你想要的横向排列效果。
内容的提问来源于stack exchange,提问作者Savantik
相关产品推荐
相关产品推荐

