用 python 写一个程序,需求为请找一张购物小票,使用字符 串的format方法,将小票的购 物信息按票据格式显示出来
时间: 2023-03-20 08:02:18 浏览: 135
浅谈Python 字符串格式化输出(format/printf)
以下是一个使用 Python 的字符串格式化功能来格式化购物小票的示例程序:
```python
# 定义购物清单信息
items = [("牛奶", 5.5, 2), ("面包", 2.5, 3), ("苹果", 4.3, 5)]
# 计算总价
total = sum([price * qty for (name, price, qty) in items])
# 打印小票头部信息
print("+" + "-" * 48 + "+")
print("|{:^48s}|".format("购物小票"))
print("+" + "-" * 48 + "+")
# 打印购物清单信息
print("|{:<20s}|{:^10s}|{:^10s}|{:^10s}|".format("商品名称", "单价(元)", "数量", "小计(元)"))
print("+" + "-" * 48 + "+")
for (name, price, qty) in items:
subtotal = price * qty
print("|{:<20s}|{:^10.2f}|{:^10d}|{:^10.2f}|".format(name, price, qty, subtotal))
print("+" + "-" * 48 + "+")
# 打印总价信息
print("|{:<20s}|{:^28.2f}|".format("总价", total))
print("+" + "-" * 48 + "+")
```
该程序中,我们首先定义了一个包含购物清单信息的元组列表 `items`,其中每个元组包含商品名称、单价和数量三个信息。接着,我们使用 Python 的列表推导式和 `sum` 函数来计算购物清单的总价。
然后,我们使用字符串格式化功能来打印小票头部信息和购物清单信息。在字符串格式化中,我们使用了大括号 `{}` 来表示占位符,然后在 `format` 方法中传入对应的参数。例如,`"{:<20s}"` 表示一个左对齐的字符串占位符,占位符宽度为 20 个字符。
最后,我们使用字符串格式化来打印小票的总价信息。在这里,我们使用了 `"{:^28.2f}"` 来表示一个居中对齐的浮点数占位符,占位符宽度为 28 个字符,小数点后保留 2 位。
阅读全文