定义一个学生类Student,有姓名(name)、成绩(score)两个私有属性,提供一个无参数的构造方法、一个带参数的构造方法,以及四个公有方法getName()、setName()、getScore()、setScore ()分别用于获取和设置姓名、成绩属性。 在测试类Main中,先使用学生类的无参数的构造方法创建一个学生类对象stu1,然后接收键盘上输入的数据,分别作为setName( )和setScore( )的参数,从而当作学生stu1的姓名和成绩;再使用学生类的带参数的构造方法创建一个学生类对象stu2,接收键盘上输入的数据作为构造方法的两个参数,从而当作学生stu2的姓名和成绩。 输入格式: 第一行输入一个姓名(例如:张三)、成绩(例如:85.5),分别作为setName( )和setScore( )的参数,从而当作学生stu1的姓名和成绩。 第二行再输入一个姓名(例如:李四)、成绩(例如:92),作为构造方法的两个参数,从而当作学生stu2的姓名和成绩。 具体格式请看输入样例。 输出格式: 通过调用stu1和stu2的getName( )、getScore( )方法,获取到学生对象的姓名和成绩,并将其输出。 具体格式请看输出样例。 输入样例: 在这里给出一组输入,每一行中间用英文空格来间隔。例如: 张三 85.5 李四 92 输出样例: 在这里给出相应的输出,除了姓名可能为中文,其他均为英文格式。例如: stu1: name=张三,score=85.5 stu2: name=李四,score=92.0,并确保程序结果的数字一定是小数
时间: 2024-02-17 19:00:36 浏览: 37
以下是一个符合要求的代码示例:
```python
class Student:
def __init__(self):
self.__name = ""
self.__score = 0.0
def __init__(self, name, score):
self.__name = name
self.__score = score
def getName(self):
return self.__name
def setName(self, name):
self.__name = name
def getScore(self):
return self.__score
def setScore(self, score):
self.__score = score
# 创建一个无参数的学生对象
stu1 = Student()
# 从键盘读入学生姓名和成绩,分别设置到stu1对象中
name, score = input().split()
stu1.setName(name)
stu1.setScore(float(score))
# 创建一个带参数的学生对象
name, score = input().split()
stu2 = Student(name, float(score))
# 输出学生对象的姓名和成绩
print("stu1: name={},score={}".format(stu1.getName(), stu1.getScore()))
print("stu2: name={},score={}".format(stu2.getName(), stu2.getScore()))
```