网站网页设计公司,合肥专业做网站,WordPress分享无法显示,公司网站官网输出样例如图#xff1a; 题目内容#xff1a; 利用继承、多态性等面向对象程序功能编写程序#xff0c;实现学生管理系统#xff0c;并包含以下内容#xff1a; 第一#xff0c;基类为学生类#xff0c;并以此派生出本科生类、研究生类。 第二#xff0c;本科生类包含…输出样例如图 题目内容 利用继承、多态性等面向对象程序功能编写程序实现学生管理系统并包含以下内容 第一基类为学生类并以此派生出本科生类、研究生类。 第二本科生类包含成员变量学号、姓名、年龄、高数成绩、英语成绩、平均成绩包含成员函数计算平均成绩显示学生信息以上所有成员变量。 第三研究生类包含成员变量学号、姓名、年龄、英语成绩、矩阵论成绩、模糊数学成绩、平均成绩、发表论文篇数包含成员函数计算平均成绩显示学生信息以上所有成员变量。 第四写入3个本科生、3个研究生数据其中不包含数据成员平均成绩作为默认数据。 第五编写两个函数分别实现增加、删除某一个本科生或研究生。 第六编写函数能够显示所有学生信息。 第七编写函数能够计算每个学生的平均成绩并显示。 代码如下
# 学生基类
class Student:def __init__(self, student_id, name, age):self.student_id student_idself.name nameself.age age# 本科生类继承自学生类
class Undergraduate(Student):def __init__(self, student_id, name, age, math_score, english_score):super().__init__(student_id, name, age)self.math_score math_scoreself.english_score english_scoreself.average_score 0def calculate_average_score(self):self.average_score (self.math_score self.english_score) / 2return self.average_scoredef display_info(self):print(f本科生 - 学号: {self.student_id}, 姓名: {self.name}, 年龄: {self.age}, 高数成绩: {self.math_score}, 英语成绩: {self.english_score}, 平均成绩: {self.average_score})# 研究生类继承自学生类
class Graduate(Student):def __init__(self, student_id, name, age, english_score, matrix_score, fuzzy_math_score, papers):super().__init__(student_id, name, age)self.english_score english_scoreself.matrix_score matrix_scoreself.fuzzy_math_score fuzzy_math_scoreself.papers papersself.average_score 0def calculate_average_score(self):self.average_score (self.english_score self.matrix_score self.fuzzy_math_score) / 3return self.average_scoredef display_info(self):print(f研究生 - 学号: {self.student_id}, 姓名: {self.name}, 年龄: {self.age}, 英语成绩: {self.english_score}, 矩阵论成绩: {self.matrix_score}, 模糊数学成绩: {self.fuzzy_math_score}, 平均成绩: {self.average_score}, 发表论文篇数: {self.papers})# 存储学生的列表
undergraduates []
graduates []# 初始化默认数据3 个本科生和 3 个研究生
undergraduate1 Undergraduate(001, 张三, 20, 80, 70)
undergraduate2 Undergraduate(002, 李四, 21, 85, 75)
undergraduate3 Undergraduate(003, 王五, 20, 90, 80)
undergraduates.extend([undergraduate1, undergraduate2, undergraduate3])graduate1 Graduate(101, 赵六, 23, 70, 80, 85, 2)
graduate2 Graduate(102, 孙七, 24, 75, 82, 88, 3)
graduate3 Graduate(103, 周八, 25, 80, 85, 90, 1)
graduates.extend([graduate1, graduate2, graduate3])# 增加本科生函数
def add_undergraduate():student_id input(请输入本科生学号)name input(请输入本科生姓名)age int(input(请输入本科生年龄))math_score int(input(请输入高数成绩))english_score int(input(请输入英语成绩))new_undergraduate Undergraduate(student_id, name, age, math_score, english_score)undergraduates.append(new_undergraduate)print(本科生添加成功。)# 增加研究生函数
def add_graduate():student_id input(请输入研究生学号)name input(请输入研究生姓名)age int(input(请输入研究生年龄))english_score int(input(请输入英语成绩))matrix_score int(input(请输入矩阵论成绩))fuzzy_math_score int(input(请输入模糊数学成绩))papers int(input(请输入发表论文篇数))new_graduate Graduate(student_id, name, age, english_score, matrix_score, fuzzy_math_score, papers)graduates.append(new_graduate)print(研究生添加成功。)# 删除本科生函数
def delete_undergraduate():student_id input(请输入要删除的本科生学号)for undergraduate in undergraduates:if undergraduate.student_id student_id:undergraduates.remove(undergraduate)print(本科生删除成功。)returnprint(未找到该本科生。)# 删除研究生函数
def delete_graduate():student_id input(请输入要删除的研究生学号)for graduate in graduates:if graduate.student_id student_id:graduates.remove(graduate)print(研究生删除成功。)returnprint(未找到该研究生。)# 显示所有学生信息函数
def display_all_students():print(本科生信息)for undergraduate in undergraduates:undergraduate.display_info()print(研究生信息)for graduate in graduates:graduate.display_info()# 计算并显示每个学生平均成绩函数
def calculate_and_display_average_scores():print(本科生平均成绩)for undergraduate in undergraduates:undergraduate.calculate_average_score()undergraduate.display_info()print(研究生平均成绩)for graduate in graduates:graduate.calculate_average_score()graduate.display_info()
while True:print(\n学生管理系统菜单)print(1. 添加本科生)print(2. 添加研究生)print(3. 删除本科生)print(4. 删除研究生)print(5. 显示所有学生信息)print(6. 计算并显示平均成绩)print(7. 退出)choice input(请输入你的选择)if choice 1:add_undergraduate()elif choice 2:add_graduate()elif choice 3:delete_undergraduate()elif choice 4:delete_graduate()elif choice 5:display_all_students()elif choice 6:calculate_and_display_average_scores()elif choice 7:breakelse:print(无效选择请重新输入。) 该 Python 代码构建了一个简单的学生管理系统能管理本科生和研究生信息支持添加、删除学生展示学生信息及计算平均成绩。具体解释如下 类的定义 Student 基类 包含学号、姓名、年龄三个基本属性通过 __init__ 方法初始化。 Undergraduate 类 继承自 Student 类新增高数、英语成绩和平均成绩属性。calculate_average_score 方法计算平均成绩高数和英语成绩的平均值。display_info 方法输出本科生详细信息。 Graduate 类 继承自 Student 类新增英语、矩阵论、模糊数学成绩发表论文篇数和平均成绩属性。calculate_average_score 方法计算平均成绩三门课成绩的平均值。display_info 方法输出研究生详细信息。 数据初始化 创建 undergraduates 和 graduates 两个列表分别存储本科生和研究生对象。初始化 3 个本科生和 3 个研究生对象并添加到对应列表。 功能函数 添加学生add_undergraduate 和 add_graduate 函数通过用户输入信息创建新学生对象并添加到相应列表。删除学生delete_undergraduate 和 delete_graduate 函数根据用户输入的学号查找并删除对应学生对象。显示信息display_all_students 函数输出所有本科生和研究生的信息。计算平均成绩calculate_and_display_average_scores 函数计算并输出所有学生的平均成绩。 菜单系统 使用 while True 循环显示菜单提供 7 个操作选项。根据用户输入调用相应功能函数输入 7 则退出系统输入无效会提示重新输入。 觉得有帮助就给博主点个关注叭~~
有问题的可以私信或者在评论区一起交流
友友们一起加油叭QAQ