请使用python语言,尽量简化的方法,构建一个学生类,类属性为 姓名:name,年龄:age,性别: sex,爱好: hobby(默认为读书),成绩列表: scoreLst (默认为空列表) ,总分: scoreSum (默认为0) ,平均分: scoreAvg (默认为0) 类方法有 打招呼: sayHi() 爱好调整: setHobby() 平均分和总分统计: analysisScore() 最后通过使用类实例化一个学生对象,比如本人,或其他同学,完成对应的方法调用。 例如:实例化一个学生:张三,19岁,男,爱打游戏,成绩[89,97,65]。 运行结果为: 我是一名学生,名字是张三,爱好是读书。 请输入你的爱好:打游戏 张三同学默认爱好是读书; 张三同学真正的爱好是打游戏! 张三同学的爱好是打游戏, 平均分是83.7,总分是251。
时间: 2024-02-16 11:01:00 浏览: 91
python 输入学生考试成绩计算平均分 示例
5星 · 资源好评率100%
可以使用如下代码实现:
```python
class Student:
def __init__(self, name, age, sex, scoreLst=[]):
self.name = name
self.age = age
self.sex = sex
self.hobby = "读书"
self.scoreLst = scoreLst
self.scoreSum = sum(scoreLst)
self.scoreAvg = self.scoreSum / len(scoreLst) if len(scoreLst) > 0 else 0
def sayHi(self):
print(f"我是一名学生,名字是{self.name},爱好是{self.hobby}。")
def setHobby(self, hobby):
if hobby != "":
self.hobby = hobby
print(f"{self.name}同学默认爱好是读书; {self.name}同学真正的爱好是{self.hobby}!")
def analysisScore(self):
print(f"{self.name}同学的爱好是{self.hobby},平均分是{self.scoreAvg},总分是{self.scoreSum}。")
# 实例化一个学生
stu = Student("张三", 19, "男", [89, 97, 65])
# 调用打招呼函数
stu.sayHi()
# 调用爱好调整函数
hobby = input("请输入你的爱好:")
stu.setHobby(hobby)
# 调用平均分和总分统计函数
stu.analysisScore()
```
运行结果如下所示:
```
我是一名学生,名字是张三,爱好是读书。
请输入你的爱好:打游戏
张三同学默认爱好是读书; 张三同学真正的爱好是打游戏!
张三同学的爱好是打游戏,平均分是83.7,总分是251。
```
阅读全文