【发布时间】:2021-04-30 12:32:16
【问题描述】:
我在 python 中处理字符串,我需要格式化一个字符串来打印它,所以它最后看起来像这样:
32 1 9999 523
+ 8 - 3801 + 9999 - 49
---- ------ ------ -----
40 -3800 19998 474
operations = []
for problem in problems:
parts = problem.split()
sum_result = str(int(parts[0]) + int(parts[2]))
sum_width = len(sum_result) + 2
operations.append(f'{parts[0].rjust(sum_width, " ")}\n{parts[1]}{parts[2].rjust(sum_width - 1, " ")}\n{"".ljust(sum_width, "-")}\n{sum_result.rjust(sum_width, " ")}')
但这只会产生一个包含每个格式化总和的列表,现在我不知道如何将每个总和排列为字符串中的水平。
最有效的方法是什么?
【问题讨论】:
-
您需要在第一行,然后是第二行中积累所有您想要的信息,以此类推。你在哪里坚持订购?
-
@Prune 和你说的我从不同的角度看,我会试试的