Python 使用范围和分隔符打印(结束=)

Python 使用范围和分隔符打印(结束=),python,Python,这将打印出: if i == 0: for ii in range(4): print((lengths[ii]) * '-', end='+') print(fmtstr.format(list_l[i][0].upper(), list_l[i][1].upper(), list_l[i][2].upper(), list_l[i][3].upper())) 我的两个问题是,使用end命令仅将“+”放在每组“长度”的末尾,然后将其连接到下一个打印命令。如何在上次运行期间停

这将打印出:

if i == 0:
   for ii in range(4):
      print((lengths[ii]) * '-', end='+')
print(fmtstr.format(list_l[i][0].upper(), list_l[i][1].upper(), list_l[i][2].upper(), list_l[i][3].upper()))

我的两个问题是,使用end命令仅将“+”放在每组“长度”的末尾,然后将其连接到下一个打印命令。如何在上次运行期间停止end命令,使其不会添加下一组要打印的数据?另外,如何使分隔符也位于数据的开始和结束处?

由于您的问题不完整且不清楚,我必须假设您的开始数据如下所示:

-------------------+-------------+--------------------+----+|        AAAAA        |    BBBBBB     |        CCCCC         | DDDD | 
i = 0
lengths = [18,13,20,4]
list_l = [['aaaaa', 'bbbbbb', 'ccccc', 'dddd']]
fmtstr = "|        {}        |    {}     |        {}         | {} | "

if i == 0:
   for ii in range(4):
      print((lengths[ii]) * '-', end='+')

print(fmtstr.format(list_l[i][0].upper(), list_l[i][1].upper(), list_l[i][2].upper(), list_l[i][3].upper()))
从我能收集到的信息来看,你希望你的最终结果是这样的:

-------------------+-------------+--------------------+----+|        AAAAA        |    BBBBBB     |        CCCCC         | DDDD | 
i = 0
lengths = [18,13,20,4]
list_l = [['aaaaa', 'bbbbbb', 'ccccc', 'dddd']]
fmtstr = "|        {}        |    {}     |        {}         | {} | "

if i == 0:
   for ii in range(4):
      print((lengths[ii]) * '-', end='+')

print(fmtstr.format(list_l[i][0].upper(), list_l[i][1].upper(), list_l[i][2].upper(), list_l[i][3].upper()))
您可以收集字符串,而不是尝试动态创建字符串,然后将其打印到数据的任意一侧:

+---------------------+---------------+----------------------+------+
|        AAAAA        |    BBBBBB     |        CCCCC         | DDDD |
+---------------------+---------------+----------------------+------+
其中:

s = "+"
if i == 0:
   for ii in range(4):
      s += (lengths[ii] * '-') + "+"

print(s)
print(fmtstr.format(list_l[i][0].upper(), list_l[i][1].upper(), list_l[i][2].upper(), list_l[i][3].upper()))
print(s)

很明显,这不是正确的填充/居中。但是,如果我不知道您的原始数据或循环中的代码,我该如何帮助您呢?

请澄清您希望如何通过示例显示输出