如何使用两个元组元素循环一个元组并打印一个漂亮的格式化字符串结果乘以元组元素?

时间:2013-08-27 01:57:34

标签: python python-3.x tuples string-formatting

我试图让输出打印得很好,以便它更具可读性。这就是我到目前为止所做的:

a = (4,4)
b = (25,75)
c = (8,9)
d = (88,4)

elements = [(a[0]*a[1], "= 4 x 4"), 
(b[0]*b[1], "= 25 x 75"),
(c[0]*c[1], "= 8 x 9"),
(d[0]*d[1], "= 88 x 4")]

fmt = "{0:>4}" # Something along these lines, not specific

for i in elements:
    print(fmt.format(i)) 

这是我得到的输出:

(16,'= 4 x 4')
(1875年,'= 25 x 75')
(72,'= 8 x 9')
(352,'= 88 x 4')

我认识到我的'元素'元组非常邋,,但它是迄今为止我能想到的最好的!我希望尝试将我的输出格式化为漂亮可读,如下所示:

  16 =  4 x  4

1875 =  25 x  75

  72 = 8 x 9

 352 =  88 x  4

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

inp = [(4,4), (25,75), (8,9), (88,4)]

for eq in inp:
  print('{:>4} = {:>2} × {:>2}'.format(eq[0] * eq[1], eq[0], eq[1]))

答案 1 :(得分:1)

怎么样:

inp = [(4,4), (25,75), (8,9), (88,4)]
print '\n'.join(['{:>4} = {:>2} × {:>2}'.format(x, y, x * y) for x, y in inp])

如果它将成为函数的一部分,应该更快更方便。