如何对齐列

时间:2017-07-26 18:23:00

标签: python

我正在运行一个显示最多25代表格的模型。但是随着行数的增加,表格看起来也会变得混乱。这是代码 - 查看链接以了解发生的情况。 image of table running

{{1}}

2 个答案:

答案 0 :(得分:1)

在这种情况下,str.format是一个不错的选择:

print("{:<10} {:<10} {:<10} {:<10} {:<10} {:<10} {:<10}".format(gen_number, juveniles_pop, adults_pop, seniles_pop, juveniles_pop, adults_pop, seniles_pop)

上面的代码将证明你的数据是合理的,每个数字都放在10个宽的空间中。您可以根据自己的要求调整数量。

以下是一个例子:

In [517]: for _ in range(10): print("{:<10} {:<10}".format(random.randint(0, 123456), random.randint(0, 123456)))
68434      11170     
95911      46785     
96425      57497     
108395     106972    
45328      877       
97760      22434     
37254      72544     
104063     53772     
72188      116733    
20195      70798  

答案 1 :(得分:0)

使用str.format函数查看输出对齐情况。 https://docs.python.org/2/library/string.html

特别是,以下是您可能希望如何解决问题的示例:

for x in range(gen_num+1):
    print('{0:{width}} {1:{width}} {2:{width}} {3:{width}} {4:{width}}'.format(gen_number,juveniles_pop,adults_pop,seniles_pop,juveniles_pop+adults_pop+seniles_pop,width=6))
    gen_number+=1
    seniles_pop = (seniles_pop * seniles_surv) + (adults_pop * adults_surv)
    juveniles_pop1 = adults_pop * birth_rate
    adults_pop = juveniles_pop * juveniles_surv
    juveniles_pop = juveniles_pop1