我目前有以下代码,生成如下所示的输出:
MENU = [["Hawaiian", 8.50], ["Pepperoni", 8.50], ["Veg Trio", 8.50], ["Simply Cheese", 8.50], ["Meat Lovers", 8.50], ["Ham & Cheese", 8.50], ["BBQ Italian Sausage", 8.50],
["Loaded Supreme", 13.50], ["Chicken Fajita", 13.50], ["Apricot Chicken", 13.50], ["Garlic Prawn", 13.50], ["Chicken Cranberry", 13.50]]
print("\nWe sell the following pizzas.")
for i, pizza in enumerate(MENU):
print("{}: {}: ${:.2f}".format(str(i+1).zfill(2), MENU[i][0], MENU[i][1]))
输出:
如何使所有的价格都在各自的“列”中,并且左对齐?我已经尝试了一些方法来回答类似的问题,但我不能达到我想达到的目的。你知道吗
我尝试过使用我在这里找到的方法,但它们所做的只是将冒号和价格之间的差距扩大到每个单独列的相同数量,这当然不会使它们全部对齐。你知道吗
我只是在学习,所以任何帮助都将不胜感激!你知道吗
你可以做一些改变来简化一些事情。你知道吗
使用与@Igle类似的方法,找到最大长度可能是最好的方法,但使用内置填充而不是手动添加空格更为清晰。你知道吗
Python 3.6之前的版本
对于使用fstrings的Python3.6,一切都变得简单了,因为您可以直接添加动态格式,而不是使用两个步骤
您可以查找名称最长的比萨饼,然后在名称和价格之间为较短的名称填充空格:
打印输出:
您可以使用
str.format
来选择行中每个元素之间的间距,这将创建您要查找的列。{:>15}
表示将字符串显示在右边15个空格处。不过,右边的列仍然不会对齐,但我正在为此制定解决方案,一旦找到答案,我将对其进行编辑,但您可以在meatime中尝试此操作。你知道吗相关问题 更多 >
编程相关推荐