做出这道Python题:2. 题库:创建student类,输出学生学号,姓名及课程最高成绩 【问题描述】 定义一个学生类 1.有下面的类属性:姓名 年龄 成绩(语文,数学,英语)[每课成绩的类型为整数] 2.类方法 1) 获取学生的姓名:get_name() 返回类型:str 2 )获取学生的年龄:get_age() 返回类型:int 3 )返回3门科目中最高的分数:get_course() 返回类型:int 【输入形式】输入姓名,年龄及三门成绩 【输出形式】输出姓名,年龄及三门成绩中最高成绩 【样例输入】 zs,20,69,83,71 【样例输出】 name: zs age: 20 max_score: 83 【样例说明】以逗号分割输入姓名,年龄及成绩 【评分标准】通过所有测试用例
时间: 2024-03-14 19:43:43 浏览: 127
以下是题目的Python代码实现:
```python
class Student:
def __init__(self, name, age, score):
self.name = name
self.age = age
self.score = score
def get_name(self):
return self.name
def get_age(self):
return self.age
def get_course(self):
return max(self.score)
# 输入
input_str = input()
name, age, score1, score2, score3 = input_str.split(',')
age = int(age)
score1, score2, score3 = int(score1), int(score2), int(score3)
# 创建学生对象并输出结果
stu = Student(name, age, [score1, score2, score3])
print(f"name: {stu.get_name()} age: {stu.get_age()} max_score: {stu.get_course()}")
```
代码解释:
1. 首先定义了一个`Student`类,包含了姓名、年龄、成绩这三个属性,并且定义了三个实例方法`get_name`、`get_age`、`get_course`分别用于获取学生的姓名、年龄和最高成绩。
2. 在`__init__`方法中,初始化了学生的姓名、年龄、成绩属性,并将成绩作为一个列表传递进来。
3. 在`get_name`、`get_age`、`get_course`方法中,分别返回学生的姓名、年龄和最高成绩(使用了Python内置函数`max`来获取列表中的最大值)。
4. 接着通过输入函数`input()`获取输入的字符串,然后使用`split`函数将字符串按逗号分割成一个列表。
5. 将列表中的元素转换成对应的类型,包括年龄和三门成绩,这里使用了Python内置函数`int`。
6. 创建一个`Student`对象,并将输入的姓名、年龄和成绩作为参数传递进去。
7. 最后输出学生的姓名、年龄和最高成绩,使用了Python中的f-string语法,可以方便地将变量值插入到字符串中。
阅读全文