弯曲的列对齐

时间:2020-05-22 21:01:24

标签: python formatting

我正在尝试对齐列中的变量。我希望它们在每一列中都左对齐。但是,当我对齐输入时,我认为它是根据字符的长度对齐的。问题是输入因使用而异,所以我不能仅在空格中进行硬编码来对齐它们。不知道如何解决它。任何帮助表示赞赏。

我尝试阅读许多其他文章,但是即使我的代码建议正确,我也无法弄清楚如何正确设置对齐方式。另外,如果使用的话,我正在使用Trinket.io。

a1 = input("Enter Item 1: ")
monthly1 = float(input("Enter " + a1 + " Monthly Amount: $"))
b1 = ("$%.2f" % (monthly1))
yearly1 = float(monthly1*12)
c1 = ("$%.2f" % (yearly1))
a2 = input("Enter Item 2: ")
monthly2 = float(input("Enter " + a2 + " Monthly Amount: $"))
b2 = ("$%.2f" % (monthly2))
yearly2 = float(monthly1*12)
c2 = ("$%.2f" % (yearly2))

print "==============================="
print ("%-20s %-10s %-10s" % (a1, b1, c1))
print ("%-20s %-10s %-10s" % (a2, b2, c2))

Screenshot in Trinket.io

复制粘贴输出:

Enter Item 1:  Rent
Enter Rent Monthly Amount: $ 750
Enter Item 2:  Gas
Enter Gas Monthly Amount: $ 50
===============================
 Rent                 $750.00    $9000.00 
 Gas                  $50.00     $600.00

1 个答案:

答案 0 :(得分:0)

我在想,也许您希望美元金额正确对齐。因此,将打印内容更改为:

print ("%-20s %10s %10s" % (a1, b1, c1))
print ("%-20s %10s %10s" % (a2, b2, c2))

我得到:

Enter Item 1: Rent
Enter Rent Monthly Amount: $750
Enter Item 2: Gas
Enter Gas Monthly Amount: $50
===============================
Rent                    $750.00   $9000.00
Gas                      $50.00    $600.00

那是你的追随吗?

相关问题