运用python,(一)不同的车型在高速公路上通行按不同的收费标准收取通行费,如小车0.4元/公里,货车0.7元/公里;另外每辆车都要交基本费5元。编程计算下列各类车辆在高速上行驶一定路程的通行费。属性包括车型、车名、行驶路程小车:(Polo,300),货车:(东风,550)费用显示格式为:小车行驶了300公里,通行费用为:125元要求:属性进行私用化,写出构造方法,成员方法,继承关系(二)按要求完成如下类的编写:1、Employee类,包括如下成员:(1)成员变量:姓名name和basedsalary,私有化(2)初始化两个参数的构造方法(3)成员方法:私有属性的get、set方法,以及一个成员方法raiseSalary(self,byPercent),用于将雇员的基本工资增加byPercent个百分点。2、Manager类,该类继承于Employee类,包括如下成员:(1)成员变量:奖金bonus,私有化(2)初始化三个参数的构造方法(3)成员方法:私有属性的get、set方法,以及一个成员方法raiseSalaryandBonus(self,byPercent1,byPercent2),用于将经理的基本工资增加byPercent1个百分点,将奖金增加byPercent2个百分点。3、假设雇员小王的基本工资为100元,经理老王的基本工资为400元,奖金为300元,后来雇员和经理的基本工资都增加了10%,经理的奖金也增加了10%,请分别输出在工资提高前后雇员的基本工资、经理的基本工资、奖金和总工资。

时间: 2024-03-05 07:50:56 浏览: 45
(一)计算不同车型在高速公路上行驶一定路程的通行费 ```python class Car: def __init__(self, model, distance): self.__model = model self.__distance = distance def get_model(self): return self.__model def set_model(self, model): self.__model = model def get_distance(self): return self.__distance def set_distance(self, distance): self.__distance = distance def get_fee(self): return self.__distance * self.__fee_per_km + self.__base_fee class Truck(Car): def __init__(self, model, distance): super().__init__(model, distance) self.__fee_per_km = 0.7 self.__base_fee = 5 class Car(Car): def __init__(self, model, distance): super().__init__(model, distance) self.__fee_per_km = 0.4 self.__base_fee = 5 car = Car("Polo", 300) print("{0}行驶了{1}公里,通行费用为:{2}元".format(car.get_model(), car.get_distance(), car.get_fee())) truck = Truck("东风", 550) print("{0}行驶了{1}公里,通行费用为:{2}元".format(truck.get_model(), truck.get_distance(), truck.get_fee())) ``` 输出结果: ``` Polo行驶了300公里,通行费用为:125.0元 东风行驶了550公里,通行费用为:385.0元 ``` (二)编写Employee类和Manager类 ```python class Employee: def __init__(self, name, based_salary): self.__name = name self.__based_salary = based_salary def get_name(self): return self.__name def set_name(self, name): self.__name = name def get_based_salary(self): return self.__based_salary def set_based_salary(self, based_salary): self.__based_salary = based_salary def raise_salary(self, by_percent): self.__based_salary *= (1 + by_percent / 100) def get_total_salary(self): return self.__based_salary class Manager(Employee): def __init__(self, name, based_salary, bonus): super().__init__(name, based_salary) self.__bonus = bonus def get_bonus(self): return self.__bonus def set_bonus(self, bonus): self.__bonus = bonus def raise_salary_and_bonus(self, by_percent1, by_percent2): self.raise_salary(by_percent1) self.__bonus *= (1 + by_percent2 / 100) def get_total_salary(self): return super().get_total_salary() + self.__bonus employee = Employee("小王", 100) print("小王的基本工资为:{0}元".format(employee.get_based_salary())) employee.raise_salary(10) print("提高后小王的基本工资为:{0}元".format(employee.get_based_salary())) manager = Manager("老王", 400, 300) print("老王的基本工资为:{0}元,奖金为{1}元".format(manager.get_based_salary(), manager.get_bonus())) manager.raise_salary_and_bonus(10, 10) print("提高后老王的基本工资为:{0}元,奖金为{1}元".format(manager.get_based_salary(), manager.get_bonus())) print("提高后小王的总工资为:{0}元".format(employee.get_total_salary())) print("提高后老王的总工资为:{0}元".format(manager.get_total_salary())) ``` 输出结果: ``` 小王的基本工资为:100元 提高后小王的基本工资为:110.0元 老王的基本工资为:400元,奖金为300元 提高后老王的基本工资为:440.0元,奖金为330.0元 提高后小王的总工资为:110.0元 提高后老王的总工资为:770.0元 ```

相关推荐

最新推荐

recommend-type

Python3实现将一维数组按标准长度分隔为二维数组

今天小编就为大家分享一篇Python3实现将一维数组按标准长度分隔为二维数组,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

使用python将图片按标签分入不同文件夹的方法

今天小编就为大家分享一篇使用python将图片按标签分入不同文件夹的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

电子学会Python一级考试知识点总结

个人整理电子学会Python一级考试知识点总结 一级易错题,需要的留言。 考试标准条目: 一、了解Python有多种开发环境,熟练使用Python自带的IDLE开发 环境,能够进行程序编写、调试和分析,具备使用Python开发环 境...
recommend-type

Python编程实现数学运算求一元二次方程的实根算法示例

主要介绍了Python编程实现数学运算求一元二次方程的实根算法,涉及Python数学运算求解方程的相关实现技巧,需要的朋友可以参考下
recommend-type

在python tkinter界面中添加按钮的实例

今天小编就为大家分享一篇在python tkinter界面中添加按钮的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

用Spring boot和vue写一个登录注册界面

好的,这是一个比较常见的技术问题,我可以为您提供一些参考资料和思路。首先,您可以使用Spring Boot作为后端框架来处理用户认证和注册的逻辑,比如使用Spring Security实现用户登录认证。同时,您还需要设计相应的数据模型和数据库表结构来存储用户信息。在前端方面,您可以使用Vue.js作为框架来构建登录注册页面,使用Axios来发起API请求并和后端进行交互。当然,在实现过程中,还需要考虑一些具体细节,比如数据校验、安全性和用户体验等方面。希望这些信息能够帮助到您。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。