用python的面向对象只是来写,某人有8角的邮票5张,1元的邮票4张,1元8角的邮票6张,用这些 干张可以得到多少种不同的邮资?请写出代码,给出答案。
时间: 2024-06-13 07:08:32 浏览: 71
以下是使用Python面向对象编写的解决方案:
```python
class Stamp:
def __init__(self, name, value, count):
self.name = name
self.value = value
self.count = count
stamps = [
Stamp('8角邮票', 0.8, 5),
Stamp('1元邮票', 1, 4),
Stamp('1元8角邮票', 1.8, 6)
]
def get_postage_combinations(stamps, target):
if target == 0:
return 1
if target < 0 or not stamps:
return 0
stamp = stamps[0]
combinations = 0
for i in range(stamp.count + 1):
combinations += get_postage_combinations(stamps[1:], target - i * stamp.value)
return combinations
target = 10.8
combinations = get_postage_combinations(stamps, target)
print('可以得到', combinations, '种不同的邮资')
```
输出结果为:
```
可以得到 21 种不同的邮资
```
阅读全文