首页 > 其他分享 >4.13

4.13

时间:2024-06-19 17:54:54浏览次数:10  
标签:__ salary 4.13 name self hours worked

时长:

三个小时

问题:

8-3 【Python0016】设计并实现计算不同职称的教师工资 分数 10 作者 doublebest 单位 石家庄铁道大学

【题目描述】设计教师接口,该接口包含教师工资计算方法。应用(一)中的高校人员信息包,设计不同职称的教师类:教授,副教授,讲师,教师的基本信息包括姓名、性别、出生年月、职称、课时工作量等属性。注意学校对教师每月工资的计算规定如下:固定工资+课时补贴;教授的固定工资为5000元,每个课时补贴50元;副教授的固定工资为3000元,每个课时补贴30元;讲师的固定工资为2000元,每个课时补贴20元。

程序中定义各种教师类的对象,并编写程序求这些教师的月工资。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。

代码:

from abc import ABC, abstractmethod

class Teacher(ABC):
def __init__(self, name, gender, birth_date, title, hours_worked):
self.name = name
self.gender = gender
self.birth_date = birth_date
self.title = title
self.hours_worked = hours_worked

@abstractmethod
def calculate_monthly_salary(self):
pass

class Professor(Teacher):
def __init__(self, name, gender, birth_date, hours_worked):
super().__init__(name, gender, birth_date, '教授', hours_worked)

def calculate_monthly_salary(self):
base_salary = 5000
hourly_rate = 50
return base_salary + (self.hours_worked * hourly_rate)

class AssociateProfessor(Teacher):
def __init__(self, name, gender, birth_date, hours_worked):
super().__init__(name, gender, birth_date, '副教授', hours_worked)

def calculate_monthly_salary(self):
base_salary = 3000
hourly_rate = 30
return base_salary + (self.hours_worked * hourly_rate)

class Lecturer(Teacher):
def __init__(self, name, gender, birth_date, hours_worked):
super().__init__(name, gender, birth_date, '讲师', hours_worked)

def calculate_monthly_salary(self):
base_salary = 2000
hourly_rate = 20
return base_salary + (self.hours_worked * hourly_rate)

def main():
prof_li = Professor('詹姆斯—摩根—麦吉尔', '男', '1970-01-01', 120)
assoc_prof_wang = AssociateProfessor('杰西—平克曼', '女', '1975-05-10', 100)
lect_zhang = Lecturer('索尔—古德曼', '男', '1980-08-20', 150)

print(f"{prof_li.name} 的月工资为:{prof_li.calculate_monthly_salary()}元")
print(f"{assoc_prof_wang.name} 的月工资为:{assoc_prof_wang.calculate_monthly_salary()}元")
print(f"{lect_zhang.name} 的月工资为:{lect_zhang.calculate_monthly_salary()}元")

if __name__ == "__main__":
main()

标签:__,salary,4.13,name,self,hours,worked
From: https://www.cnblogs.com/szm123/p/18256908

相关文章

  • 4.13
    主键--避坑小知识 以前不敢轻易尝试主键,因为尝试了经常报错,所以很少用,今天测试了一下,终于明白了关于主键的最基本的用法,帮助大家避坑!设置主键时尽量设置自增长,否则缺省主键时会报错,然后设置完自增长,请看下面的知识点。主键自增长*因为主键列的特性是:必须唯一、不能为空,......
  • 4.13
    android成功增进数据库bean1234567891011121314151617181920212223242526272829303132333435363738394041package Bean; public class causebean{    public StringgetCoursenumber(){        retu......
  • 24.2.13 ~ 4.13 Codeforces Round 925 & 926 & 934 & 939 (Div.3 / Div.2 * 3)
    925Div.3Solve:A~G(7/7)Rank:95Rating:\(0+706=706\)(\(1400+206=1606\))发挥评价:Normal+本场没什么有价值题目。926Div.2Solve:A~DF(5/6)Rank:72Rating:\(706+575=1281\)(\(1606+225=1831\))发挥评价:Good本场没有什么失误。CF1929E*2300(me*2300)选......
  • 【康复训练1】2.24.4.13美团春招
    前言写在前面,由于很长一段时间没有敲代码了,上周写了华为的题目,debug半天也没有debug出一道来,属实狠狠的打击到我了,因此特开此专栏,以便开启老年选手康复之路!!!第一题-塔子哥的好子矩阵前3题,手速题水题#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongcon......
  • 2024.4.13
    <?xmlversion="1.0"encoding="utf-8"?><ScrollViewxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.androi......
  • 4.13
    ValueError:xandymusthavesamefirstdimension,buthaveshapes(525,)and(501,) 这个错误提示意味着x轴数据和y轴数据的长度不相等。在这个例子中,x轴数据的长度是1599,而y轴数据的长度是1908。这个错误通常发生在以下情况:1.没有正确地指定x轴和y轴数据。在使用Matp......
  • 2024.4.13 模拟赛总结
    坑点总结:1.关于数据顺序模拟赛T1题面清明节,又称祭祖节,在每年4月4日至6日之间,是祭祀、祭祖和扫墓的节日。小明的爸爸妈妈决定清明假期带着他回老家扫墓。小明的爸爸一共要开车行驶1000千米才能到家,现在沿途有N个旅馆,为了安全起见,每天晚上都不开车,住在旅馆里(晚上不可以......
  • 4.13 闲话
    TopCoder13696Morphling前置知识:泰勒展开,符号化方法,无标号无根树计数我们考虑我们目前序列为\(a\),然后从每个\(i\toa_i\)连边,得到一颗基环树。我们考虑一次\((x,y)\)的影响,原本连向\(x\)的边连向了\(y\),原本连向\(y\)的边连向了\(x\),而\(x,y\)连向的边互换了,我......
  • 4.13 ACM-ICPC算法 字符串之后缀自动机
    4.13ACM-ICPC算法:字符串之后缀自动机在竞赛编程,尤其是ACM-ICPC竞赛中,字符串算法占据了极其重要的位置。其中,后缀自动机(SuffixAutomaton,简称SAM)以其强大的功能和高效的性能,成为了解决字符串问题的利器。本文旨在介绍后缀自动机的基本概念、构建方法以及在算法竞赛中的应......
  • 使用单机部署为副本集(开启oplog.rs)-4.4.13
    环境:OS:Centos7db:4.4.131.下载相应的版本https://www.mongodb.com/download-center/community我这里下载的是mongodb-linux-x86_64-rhel70-4.4.13.tgz 2.创建安装目录[root@testservices]#mkdir-p/usr/local/services[root@testservices]#mkdir-p/home/middle/mong......