python面向对象的程序设计--多态性

例7-7  某商店销售某一商品,允许销售人员在一定范围内灵活掌握售价(price),现已知当天3名销货员的销售情况为:

销货员号(num)       销货件数(quantity)     销货单价(price) 101                                           5                                           23.5 102                                           12                                         24.56 103                                           100                                       21.5

编写程序,计算当日此商品的总销售款sum以及每件商品的平均售价。 分析:利用字典来组织数据,以销货员号作为字典关键字,通过关键字遍历字典。

class Product:
    def __init__(self,prod):
        self.prod=prod
    def total(self):
        self.sum=0.0
        self.n=0
        for key in self.prod.keys():
            quantity=self.prod[key][0]
            price=self.prod[key][1]
            self.sum+=quantity*price
            self.n+=quantity
    def display(self):
        print('总销售数为%.2f元'%(self.sum))
        print('平均售价为%.2f元'%(self.sum/self.n))
def main():
    dic=eval(input('以字典的形式,销售员工号为关键字,输入销售数据:'))
    ob=Product(dic)
    ob.total()
    ob.display()
main()

输入:

{'101':[2,23.5],'102':[3,396.6]}

输出结果:

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值