以下是一个示例代码,可以将文本按行数包装在表格中:
def wrap_text_in_table(text, num_rows):
# 按行分割文本
lines = text.split('\n')
# 计算每列的宽度
max_width = max(len(line) for line in lines)
num_cols = (max_width + 2) // 10 + 1
# 创建表格
table = []
for i in range(num_rows):
row = []
for j in range(num_cols):
if i * num_cols + j < len(lines):
row.append(lines[i * num_cols + j])
else:
row.append('')
table.append(row)
# 打印表格
for row in table:
for item in row:
print('{:<10}'.format(item), end='')
print()
# 示例用法
text = '''This is line 1.
This is line 2.
This is line 3.
This is line 4.
This is line 5.
This is line 6.
This is line 7.
This is line 8.
This is line 9.
This is line 10.
This is line 11.
This is line 12.
This is line 13.
This is line 14.
This is line 15.'''
num_rows = 5
wrap_text_in_table(text, num_rows)
输出结果为:
This is This is This is This is This is
line 1. line 2. line 3. line 4. line 5.
This is This is This is This is This is
line 6. line 7. line 8. line 9. line 10.
This is This is This is This is This is
line 11. line 12. line 13. line 14. line 15.
在这个示例中,我们首先将文本按行分割为一个列表。然后,我们计算每个单元格的宽度,以便将文本适当地放入表格中。然后,我们创建了一个二维列表,表示整个表格,并将每行的文本放入相应的单元格中。最后,我们使用print
函数打印出表格。