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)
很明显,这不是正确的填充/居中。但是,如果我不知道您的原始数据或循环中的代码,我该如何帮助您呢?请澄清您希望如何通过示例显示输出