Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在python中打印时如何正确对齐数据?_Python 3.x - Fatal编程技术网

Python 3.x 在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])

我已经编写了一个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])

好的,你用
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
可能重复的