作业 (1)一个学生类,有学号、姓名、年龄、专业。函数有入学、升级、换专业、毕业。main函数能够创建多个学生,实现学生的各种信息处理,并能够统计每个专业的学生人数和学生总数 (2)在上述学生类的基础
时间: 2024-10-15 08:26:08 浏览: 37
在基础的学生类设计中,你可以创建一个名为`Student`的类,包含属性如学号`studentId`、姓名`name`、年龄`age`和专业`major`。这个类可以定义以下几个方法:
1. **构造函数**:用于初始化学生的各项信息。
```python
class Student:
def __init__(self, student_id, name, age, major):
self.studentId = student_id
self.name = name
self.age = age
self.major = major
```
2. **入学方法**:表示学生开始学习阶段。
```python
def enroll(self):
print(f"{self.name}入学")
```
3. **升级方法**:提升学生年级或等级。
```python
def upgrade(self):
self.age += 1
print(f"{self.name}升级到{self.age}岁")
```
4. **换专业方法**:允许学生改变专业。
```python
def change_major(self, new_major):
self.major = new_major
print(f"{self.name}从{self.major}转至{new_major}")
```
5. **毕业方法**:标志学生完成学业。
```python
def graduate(self):
print(f"{self.name}毕业")
```
在`main`函数中,你可以实例化多个学生对象并操作他们:
```python
def main():
students = []
# 创建学生实例
student1 = Student(1, "张三", 18, "计算机科学")
student2 = Student(2, "李四", 19, "经济学")
students.append(student1)
students.append(student2)
# 执行操作
for student in students:
student.enroll()
student.upgrade() # 升级两次
student.change_major("数学") # 换专业
student.graduate()
# 统计专业人数
student_count_by_major = {student.major: 0 for student in students}
for student in students:
student_count_by_major[student.major] += 1
total_students = len(students)
print(f"学生总数:{total_students}")
for major, count in student_count_by_major.items():
print(f"{major}专业学生数:{count}")
if __name__ == "__main__":
main()
```
阅读全文