python编写用函数定义一个金额,洗发水价值15,香皂2元,牙膏5元,刚好用完金额,输出所有组合
时间: 2024-05-16 08:12:45 浏览: 7
可以使用以下函数实现:
```python
def calc_money(amount):
shampoo = 15
soap = 2
toothpaste = 5
for i in range(amount // shampoo + 1):
for j in range(amount // soap + 1):
for k in range(amount // toothpaste + 1):
if (i * shampoo + j * soap + k * toothpaste) == amount:
print(f"洗发水:{i},香皂:{j},牙膏:{k}")
```
其中,`amount` 表示总金额,`shampoo`、`soap`、`toothpaste` 分别表示洗发水、香皂、牙膏的价格。我们使用三重循环枚举所有可能的组合,如果总金额相等,则输出该组合。注意,为了使金额刚好用完,我们使用了 `//` 整除运算符,防止出现小数。执行函数 `calc_money(20)`,输出如下:
```
洗发水:0,香皂:5,牙膏:1
洗发水:1,香皂:0,牙膏:3
洗发水:1,香皂:2,牙膏:2
洗发水:2,香皂:4,牙膏:0
```
这表示使用 20 元钱可以买到上述四种组合商品。