我最近看过一篇关于如何对齐输出的帖子(Python: Format output string, right alignment)。关于该页面上的答案的问题是没有一个回答回答了我的问题。是的,它告诉我如何对齐单个输出而不是不同长度的输出。这是一个示例代码,向您展示我的意思:
purchasableItems = {'1234' : {'name' : 'tomato' : 'price' : 0.20}
'8765' : {'name' : 'mango' : 'price' : 1},
'5678' : {'name' : 'pineapple' : 'price' : 1}}
choice = input("Code: ") #write the items 4 digit code
amount = input("Amount: ") #how much of that item
price = int(amount) * (purchasableItems[choice]['price']
print("That would be {} {} {:>5} {:>5} {:>5}".format(choice, purchasableItems[choice]['name'], amount, purchasableItems[choice]['price'], price))
我试图将'{:>5}'
重新安排到其他各种数字中,但它不允许我按照我想要的方式打印,我希望将其打印为:
Code: 1234
Amount: 3
That would be: 1234 tomato 3 0.20 0.60
Code: 8765
Amount: 2
That would be: 8765 mango 2 1.00 2.00
当用户完成后,我希望程序输出收据:
Your receipt is:
1234 tomato 3 0.20 0.60
8765 mango 2 1.00 2.00
正如您所见,收据完全一致。
但它实际输出为,取决于项目的长度
Your receipt is:
1234 tomato 3 0.20 0.60
5678 pineapple 2 1.00 2.00
对于任何我无法理解的爱情
答案 0 :(得分:0)
您可以使用\t
输入一个标签符来打印行。如果它没有完全排队,你可以拥有多个。 \t\t
我在使用您的代码时遇到问题,因为我遇到了语法错误。但这是我的一个脚本中的一个例子:
print ("Floating Value:\t" , value)
print ("Decimal Value:\t" , finalans)
这是输出:
Floating Value: 010000111111101101
Decimal Value: 123.25
多个\t
的另一个例子:
print ("Diameter = \t\t" , 2 * radius , "cm")
print ("Circumference = \t" , 2 * radius * pi , "cm")
print ("Area = \t\t\t" , pi * radius ** 2 , "cm")