某商店销售商品,允许售货员在一定范围内灵活掌握售价。已知某天3位售货员销售某种商品情况如下表: 售货员工号num 售货数量quantity 销售单价price 101 23 25 102 30 23 103 60 22 请利用面向对象方法编程实现: (1)创建销售类Sale,编写构造函数__init__(),定义实例成员sale_info(空字典,存放销售信息)、sum(销售总金额)、n(销售总量)、average(平均售价),并创建Sale对象。 (2)编写销售信息录入方法add(),录入该商品销售情况(上表),并将信息存储在sale_info字典,存储形式为{'101':[23,25],'102':[30,23],'103':[60,22]}。 (3)编写show()方法,显示输入的信息。 (4)编写total()方法,计算该商品销售数量、总金额、平均售价。 (5)编写display()方法,输出当天该商品销售总金额和商品平均售价。请给出python代码
时间: 2024-02-06 17:10:34 浏览: 60
山东科技大学算法设计与分析实验9:旅行售货员问题 源.cpp+报告
5星 · 资源好评率100%
```python
class Sale:
def __init__(self):
self.sale_info = {}
self.sum = 0
self.n = 0
self.average = 0
def add(self, num, quantity, price):
self.sale_info[num] = [quantity, price]
def show(self):
print("销售信息:")
for num, info in self.sale_info.items():
print("工号:{},数量:{},单价:{}".format(num, info[0], info[1]))
def total(self):
self.n = sum([info[0] for info in self.sale_info.values()])
self.sum = sum([info[0] * info[1] for info in self.sale_info.values()])
self.average = self.sum / self.n
def display(self):
print("销售总金额:{},平均售价:{}".format(self.sum, self.average))
# 创建Sale对象
my_sale = Sale()
# 录入销售信息
my_sale.add('101', 23, 25)
my_sale.add('102', 30, 23)
my_sale.add('103', 60, 22)
# 显示销售信息
my_sale.show()
# 计算销售总额和平均售价
my_sale.total()
# 输出销售总金额和平均售价
my_sale.display()
```
阅读全文