我使用python尝试在第三个字符之后插入逗号,如果我的文本文件是一行,但对于我的多行文本文件来说,它工作得很好。
输入:
bcdfghjklmnpqrstvwxyz
bcdfghjklmnpqrstvwxyz
bcdfghjklmnpqrstvwxyz
bcdfghjklmnpqrstvwxyz
bcdfghjklmnpqrstvwxyz
产出:
bcd, fgh, jkl, mnp, qrs, tvw, xyz,
bc, dfg, hjk, lmn, pqr, stv, wxy, z
b, cdf, ghj, klm, npq, rst, vwx, yz
, bcd, fgh, jkl, mnp, qrs, tvw, xyz,
bc, dfg, hjk, lmn, pqr, stv, wxy, z
期望产出:
bcd, fgh, jkl, mnp, qrs, tvw, xyz
bcd, fgh, jkl, mnp, qrs, tvw, xyz
bcd, fgh, jkl, mnp, qrs, tvw, xyz
bcd, fgh, jkl, mnp, qrs, tvw, xyz
bcd, fgh, jkl, mnp, qrs, tvw, xyz
代码:
with open("input.txt") as main:
words = main.read()
res = ', '.join(words[i:i + 3] for i in range(0, len(words), 3))
print(res)
发布于 2022-02-17 19:16:57
因为换行符是一个字符,所以你的程序每三个字符加一个逗号,这不是你想要的。您可以将它分别应用于每一行,如下所示:
with open("input.txt") as main:
words = main.readlines()
res = "\n".join(
", ".join(line[i : i + 3] for i in range(0, len(line), 3)) for line in words
)
print(res)
https://stackoverflow.com/questions/71164082
复制相似问题