我编写了一个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])
答案 0 :(得分:0)
好吧,你获得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