对齐Prin的单独部分

2024-09-27 19:25:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试对齐输出中的文本。你知道吗

purch_amt = float(input('Enter Amount of Purchase'))
state_stax = purch_amt * 0.04
county_stax = purch_amt * 0.02
tax = state_stax + county_stax
totalprice = purch_amt + tax

Print("Purchase Price", "= $", %.2f % purch_amt)
Print("State Sales tax", "= $", %.2f % state_stax)
Print("County Sales tax", "= $", %.2f % county_stax)
Print("Total Tax", "= $", %.2f % tax)
Print("Total Price", "= $", %.2f % totalprice)

。。。我希望它运行时看起来像这样。你知道吗

Purchase Price    = $   100.00
State Sales tax   = $     4.00
County Sales tax  = $     2.00
Total Tax         = $     6.00
Total Price       = $   106.00

我发现做这件事的唯一方法是非常复杂的事情,应该是相当容易的。你知道吗

问题解决了,谢谢!你知道吗

purch_amt = float(input('Enter Amount of Purchase'))
state_stax = purch_amt * 0.04
county_stax = purch_amt * 0.02
tax = state_stax + county_stax
totalprice = purch_amt + tax

def justified(title, amount, titlewidth=20, amountwidth=10):
    return title.ljust(titlewidth) + " = $ " + ('%.2f' % amount).rjust(amountwidth)

print(justified('Purchase Price', purch_amt))
print(justified('State Sales Tax', state_stax))
print(justified('County Sales Tax', county_stax))
print(justified('Total Tax', tax))
print(justified('Total Price', totalprice))

Tags: purchasepricetotalstatetaxprintsalescounty
2条回答

String ljust, rjust, center是填充这样的字符串所需要的。你知道吗

def justified(title, amount, titlewidth=20, amountwidth=10):
    return title.ljust(titlewidth) + " = $ " + ('%.2f' % amount).rjust(amountwidth)

print(justified('Parts', 12.45))
print(justified('Labor', 100))
print(justified('Tax', 2.5))
print(justified('Total', 114.95))

只需使用内置的string formatting

>>> column_format = "{item:20} = $ {price:>10.2f}"
>>> print(column_format.format(item="Total Tax", price=6))
Total Tax            = $       6.00

…等等

分解:

  • {item}表示格式化名为item的参数
  • {item:20}表示格式化结果的宽度应为20个字符
  • {price:>10.2f}表示右对齐(>),宽度为10(10),浮点精度为2位小数(.2f

顺便说一句,您可能需要查看用于货币工作的^{}包。你知道吗

相关问题 更多 >

    热门问题