某小公司中的职员分为三类:工人、销售员及经理,他们的基本信息如下: 工人:姓名、编号、工龄、总工资; 销售员:姓名、编号、销售额、总工资; 经理:姓名、编号、级别、总工资; 总工资的计算方式如下: 工人工资=基本工资+工龄×50; 销售员的工资=1000+销售额×10% 经理工资=基本工资+级别×500。设计一个完整的程序,程序的功能要求能输出各类人员的姓名、编号、总工
时间: 2023-07-10 21:14:37 浏览: 32
以下是一个完整的程序,可以实现你的要求:
```python
class Worker:
def __init__(self, name, id, years, salary):
self.name = name
self.id = id
self.years = years
self.salary = salary
class Salesman:
def __init__(self, name, id, sales, salary):
self.name = name
self.id = id
self.sales = sales
self.salary = salary
class Manager:
def __init__(self, name, id, level, salary):
self.name = name
self.id = id
self.level = level
self.salary = salary
def calculate_worker_salary(worker):
return worker.salary + worker.years * 50
def calculate_salesman_salary(salesman):
return salesman.salary + salesman.sales * 0.1
def calculate_manager_salary(manager):
return manager.salary + manager.level * 500
workers = [
Worker("张三", "001", 5, 5000),
Worker("李四", "002", 10, 8000),
Worker("王五", "003", 3, 3500)
]
salesmen = [
Salesman("赵六", "101", 50000, 2000),
Salesman("钱七", "102", 80000, 3000)
]
managers = [
Manager("孙八", "201", 3, 8000),
Manager("周九", "202", 5, 12000),
Manager("吴十", "203", 2, 6000)
]
while True:
print("请选择查询的职员类型:")
print("1.工人")
print("2.销售员")
print("3.经理")
print("0.退出")
choice = input("请输入选项:")
if choice == "0":
break
elif choice == "1":
for worker in workers:
print("姓名:{},编号:{},总工资:{}".format(worker.name, worker.id, calculate_worker_salary(worker)))
elif choice == "2":
for salesman in salesmen:
print("姓名:{},编号:{},总工资:{}".format(salesman.name, salesman.id, calculate_salesman_salary(salesman)))
elif choice == "3":
for manager in managers:
print("姓名:{},编号:{},总工资:{}".format(manager.name, manager.id, calculate_manager_salary(manager)))
else:
print("无效的选项,请重新输入。")
```
这个程序首先定义了三个类,分别表示工人、销售员和经理。每个类有一个构造方法用于初始化对象属性。然后定义了三个计算总工资的函数,分别对应三种职员类型的计算方式。
接下来定义了一些示例数据,包括一些工人、销售员和经理的信息。程序进入一个循环,让用户选择要查询的职员类型,然后根据用户的选择,依次输出各个职员的姓名、编号和总工资。程序在用户输入0时退出循环。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)