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

如何按固定宽度多行并排打印多个字符串

解决方案

问题分析

你的代码逻辑是依次输出第一个字符串的所有分块,再输出第二个、第三个,这和需求的「每块包含三个字符串对应分块,块间空行」完全不符。需要调整为按分块的索引配对输出,即同时处理三个字符串的第N个分块,组成一个输出块。

代码实现

首先确保你有正确的分块函数(如果没有可以用这个):

def chunkstring(s, length):
    # 将字符串按指定长度分割为分块列表
    return [s[i:i+length] for i in range(0, len(s), length)]

然后修改主逻辑代码:

# 生成三个字符串的分块列表
chunks_a = chunkstring(str1, 60)
chunks_b = chunkstring(str2, 60)
chunks_c = chunkstring(str3, 60)

# 遍历对应分块,按要求输出
total_blocks = len(chunks_a)
for idx in range(total_blocks):
    # 写入当前块的三行内容
    f.write(f"{chunks_a[idx]}\n")
    f.write(f"{chunks_b[idx]}\n")
    f.write(f"{chunks_c[idx]}\n")
    # 块与块之间空一行(最后一个块后不添加多余空行)
    if idx != total_blocks - 1:
        f.write("\n")

效果说明

这段代码会先输出三个字符串的前60字符分块,然后空一行,再输出接下来的60字符分块,以此类推,完全符合你给出的示例格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:15:16