Python 3.x 在python中打印时如何正确对齐数据?
我已经编写了一个python代码,可以在不同的列中打印姓名和年龄。姓名和年龄存储在单独的列表中。问题是,打印时数据对齐不正确。我希望每个列中的数据都正确对齐。请建议如何修改代码以获得正确的输出Python 3.x 在python中打印时如何正确对齐数据?,python-3.x,Python 3.x,我已经编写了一个python代码,可以在不同的列中打印姓名和年龄。姓名和年龄存储在单独的列表中。问题是,打印时数据对齐不正确。我希望每个列中的数据都正确对齐。请建议如何修改代码以获得正确的输出 name=['pav sunny','sham sunny','mala','shalu'] age=[25,56,52,50] print('''NAME\t\tAGE\n''') for i in range(len(name)): print(name[i],'\t\t',age[i])
name=['pav sunny','sham sunny','mala','shalu']
age=[25,56,52,50]
print('''NAME\t\tAGE\n''')
for i in range(len(name)):
print(name[i],'\t\t',age[i])
好的,你用
max()
得到最长的名字,然后是最长名字的长度,然后你做一些.ljust()
和.rjust()
,就是这样,例如:
name=['pav sunny','sham sunny','mala','shalu']
longest_name = max(name, key=len)
max_lenght = len(longest_name)
age=[25,56,52,50]
print('NAME'.ljust(max_lenght, ' '), '\t\t', 'AGE')
for i in range(len(name)):
print(name[i].ljust(max_lenght, ' '), '\t\t', str(age[i]).rjust(3,' '))
这将输出:
NAME AGE
pav sunny 25
sham sunny 56
mala 52
shalu 50
可能重复的