Chihirotlmt 发表于 2024-3-28 13:33:54

format求助

用format格式控制方法打印如下列表,item一栏占20个字符串宽度左对齐,price一栏占10个字符串宽度右对齐
==============================
item                                                price
----------------------------------------------------
Apple                                             0.40$
Orange                                          0.56$
Banana                                          1.40$
==============================

FishC 发表于 2024-3-28 13:34:09

可以使用format方法来实现这个需求。首先,你需要定义列表中的每一项的字符串格式。item的格式是左对齐,占20个字符串宽度;price的格式是右对齐,占10个字符串宽度。然后,你可以使用format方法将这些格式应用到每个字符串上。

下面是一种实现方式:

items = [('Apple', '0.40$'), ('Orange', '0.56$'), ('Banana', '1.40$')]

header = "{:<20}{}".format('item', 'price')
line = '-' * 50
print('=' * 30)
print(header)
print(line)

for item, price in items:
    formatted_item = "{:<20}".format(item)
    formatted_price = "{:>10}".format(price)
    print(formatted_item + formatted_price)

print('=' * 30)

输出结果如下所示:

==============================
item               price
--------------------------------------------------
Apple                0.40$
Orange               0.56$
Banana               1.40$
==============================

首先,我们定义了一个包含item和price的元组列表。然后,我们定义了header字符串,使用format方法将'item'和'price'分别应用到左对齐和右对齐的格式。

接下来,我们定义了line字符串,该字符串由50个连字符组成。

然后,我们打印出header和line两个字符串。

对于每一项item和price,我们使用format方法分别应用左对齐和右对齐的格式,并将结果存储在formatted_item和formatted_price变量中。

最后,我们打印出formatted_item和formatted_price的组合。

这样就实现了所需的打印效果。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: format求助