1
__author__ = "Anders Logg"
2
__date__ = "2010-05-11"
3
__copyright__ = "Copyright (C) 2010 " + __author__
4
__license__ = "GNU GPL version 3 or any later version"
6
def print_table(values, title):
7
"Print nicely formatted table."
9
m = max([key[0] for key in values]) + 2
10
n = max([key[1] for key in values]) + 2
14
table.append(["" for j in range(n)])
16
for i in range(m - 1):
17
table[i + 1][0] = str(values[(i, 0)][0])
19
for j in range(n - 1):
20
table[0][j + 1] = str(values[(0, j)][1])
22
for i in range(m - 1):
23
for j in range(n - 1):
24
value = values[(i, j)][2]
25
if isinstance(value, float):
26
value = "%.5g" % value
27
table[i + 1][j + 1] = value
31
column_sizes = [max([len(table[i][j]) for i in range(m)]) for j in range(n)]
32
row_size = sum(column_sizes) + 3*(len(column_sizes) - 1) + 2
36
print " " + "-"*row_size
39
print table[i][j] + " "*(column_sizes[j] - len(table[i][j])),
42
print " " + "-"*row_size