运用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 浏览: 108
python的一些简单运用
(一)计算不同车型在高速公路上行驶一定路程的通行费
```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元
```
阅读全文