2017-05-18 9 views
0

名前と年齢を異なる列に印刷するPythonコードを書いています。名前と年齢は別々のリストに保存されています。問題は、印刷中にデータが正しく整列しないことです。データを適切に整列させたいのですが、適切な出力を得るためにコードを修正する方法を提案してください。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]) 
+3

[テキスト出力をどのように並べ替えるのですか?](http://stackoverflow.com/questions/17091446/how-do-i-align-text-output-in-python) – Picard

答えて

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 
関連する問題