给出适当的类设计和相应的代码. 有一个只能放进不能取出的盒子,最多可放8个水果,不一定同一天放入.水果只是苹果和桔子两种,它们放入盒子前的原始重量分别为50和30,放入盒子后,由于丢失水分,它们的重量减轻,苹果和
时间: 2023-08-03 16:09:29 浏览: 34
桔子的重量分别减少10%和20%。设计一个程序,可以向盒子中放入水果,并计算盒子中水果的总量和总重量。如果尝试放入第9个水果,则会提示“盒子已满”。
类设计:
```
class FruitBox:
def __init__(self):
self.fruits = []
self.max_fruits = 8
self.total_weight = 0
def add_fruit(self, fruit):
if len(self.fruits) < self.max_fruits:
if fruit == 'apple':
weight = 50 * 0.9
elif fruit == 'orange':
weight = 30 * 0.8
else:
print("Invalid fruit type")
return
self.fruits.append(fruit)
self.total_weight += weight
else:
print("Box is full")
def get_total_fruits(self):
return len(self.fruits)
def get_total_weight(self):
return self.total_weight
```
代码示例:
```
box = FruitBox()
box.add_fruit('apple')
box.add_fruit('orange')
box.add_fruit('apple')
box.add_fruit('orange')
box.add_fruit('apple')
box.add_fruit('orange')
box.add_fruit('apple')
box.add_fruit('orange')
box.add_fruit('banana') # Invalid fruit type
print(box.get_total_fruits()) # Output: 8
print(box.get_total_weight()) # Output: 196.0
```