Python经典基础习题(面向对象)

目录

1.有下面的类属性:姓名、年龄、成绩列表[语文,数学,英语],其中每门课成绩的类型为整数,类的方法如下所述:

(1)列表项列表项获取学生的姓名。get_name(),返回类型:str。

(2)获取学生的年龄。get_age(),返回类型:int。

(3)返回3门科目中最高的分数。get_course(), 返回类型:int。 类定义好之后,可以定义同学测试如下:

zm = Student('zhangming',20,[69,88,100]);

返回结果: zhangming 20 100

2.设计一个Circle(圆)类,包括圆心位置、半径、颜色等属性。编写构造方法和其他方法,计算周长和面积。请编写程序验证Circle(圆)类的功能。

3.封装一个学生类,有姓名,有年龄,有性别,有英语成绩,数学成绩,语文成绩;求总分,平均分,以及打印输出学生的相关信息。

4.设计一个Person类,属性有姓名、年龄、性别,创建方法personInfo,打印输出这个人的信息;创建Student类,继承Person类,属性有学院college,班级Group,重写父类PersonInfo方法,调用父类方法打印输出个人信息,将学生的学院、班级信息也打印输出出来。

5.定义一个交通工具(Vehicle)的类,属性:速度(speed)、体积(size)等等。方法:移动move()、设置速度setSpeed(int speed)、加速speedUp()、减速speedDown()等等。实例化一个交通工具对象,通过方法初始化speed、size的值并且在相关方法中可以打印输出出来;另外调用加速减速的方法对速度进行改变。


1.有下面的类属性:姓名、年龄、成绩列表[语文,数学,英语],其中每门课成绩的类型为整数,类的方法如下所述:

(1)列表项列表项获取学生的姓名。get_name(),返回类型:str。

(2)获取学生的年龄。get_age(),返回类型:int。

(3)返回3门科目中最高的分数。get_course(), 返回类型:int。 类定义好之后,可以定义同学测试如下:

zm = Student('zhangming',20,[69,88,100]);

返回结果: zhangming 20 100

程序代码:

class Student:
    def __init__(self,name,age,list_exam):
        self.name = name
        self.age = age
        self.list_exam = max(list_exam)
    def get_name(self):
        return "名字是:%s"%self.name
    def get_age(self):
        return "年龄是:%s"%self.age
    def get_course(self):
        return "最高成绩是:%s"%self.list_exam

zm = Student('zhangming',20,[69,88,100])
print(zm.get_name())
print(zm.get_age())
print(zm.get_course())

运行结果:

C:\ProgramData\Anaconda3\python.exe D:/blue5/01.py
名字是:zhangming
年龄是:20
最高成绩是:100

进程已结束,退出代码0

2.设计一个Circle(圆)类,包括圆心位置、半径、颜色等属性。编写构造方法和其他方法,计算周长和面积。请编写程序验证Circle(圆)类的功能。

程序代码:

import  math
class Circle:
    def __init__(self,x,y,r,color):
        self.x = x
        self.y = y
        self.r = r
        self.color = color
    def get_Circlehear(self):
        return "圆心为:(%s,%s)"%(self.x,self.y)
    def get_radius(self):
        return "半径为:%s"%round(self.r)
    def get_color(self):
        return "颜色为:%s"%self.color
    def get_circumference(self):
        return "面积为:%s"%round((2*math.pi*self.r))
    def get_Area(self):
        return "周长为:%s"%round((math.pi*self.r*self.r))

circle = Circle(1,2,3.0,"红")
print(circle.get_Circlehear(),circle.get_radius(),circle.get_color(),circle.get_circumference(),circle.get_Area())

运行结果:

C:\ProgramData\Anaconda3\python.exe D:/blue5/02.py
圆心为:(1,2) 半径为:3 颜色为:红 面积为:19 周长为:28

进程已结束,退出代码0

3.封装一个学生类,有姓名,有年龄,有性别,有英语成绩,数学成绩,语文成绩;求总分,平均分,以及打印输出学生的相关信息。

程序代码:

class Student():
    def __init__(self,name,age,sex,English_exam,Math_exam,Chinese_eaxm):
        self.name = name
        self.age = age
        self.sex = sex
        self.English_exam = English_exam
        self.Math_exam = Math_exam
        self.Chinese_exam = Chinese_eaxm
    def get_message(self):
        return "姓名:{} 年龄:{} 性别:{} 英语成绩:{} 数学成绩:{} 语文成绩:{}".format(self.name,self.age,self.sex,\
               self.English_exam,self.Math_exam,self.Chinese_exam)
    def get_all(self):
        return "总分为:{}".format(self.Chinese_exam+self.English_exam+self.Math_exam)
    def get_averexam(self):
        return "平均分为:{}".format((self.Chinese_exam+self.English_exam+self.Math_exam)//3)

student = Student("杜杜",18,"女",98,96,94)
print(student.get_message())
print(student.get_all())
print(student.get_averexam())

运行结果:

C:\ProgramData\Anaconda3\python.exe D:/blue5/03.py
姓名:杜杜 年龄:18 性别:女 英语成绩:98 数学成绩:96 语文成绩:94
总分为:288
平均分为:96

进程已结束,退出代码0

4.设计一个Person类,属性有姓名、年龄、性别,创建方法personInfo,打印输出这个人的信息;创建Student类,继承Person类,属性有学院college,班级Group,重写父类PersonInfo方法,调用父类方法打印输出个人信息,将学生的学院、班级信息也打印输出出来。

程序代码:

class Person():
    def __init__(self,name,age,sex):
        self.name = name
        self.age = age
        self.sex = sex
    def personInfo(self):
        return "姓名:{}  年龄:{}  性别:{}".format(self.name,self.age,self.sex)

class Student(Person):
    def __init__(self,college,Group):
        super(Student,self).__init__("廖廖",18,"女")
        self.college = college
        self.Group = Group
    def personInfo(self):
        return "学院:{}  班级:{}".format(self.college,self.Group)

student =Student("软件学院","21班")
print(student.personInfo())
print(student.name,student.age,student.sex)

运行结果:


C:\ProgramData\Anaconda3\python.exe D:/blue5/04.py
学院:软件学院  班级:21班
廖廖 18 女

进程已结束,退出代码0

5.定义一个交通工具(Vehicle)的类,属性:速度(speed)、体积(size)等等。方法:移动move()、设置速度setSpeed(int speed)、加速speedUp()、减速speedDown()等等。实例化一个交通工具对象,通过方法初始化speed、size的值并且在相关方法中可以打印输出出来;另外调用加速减速的方法对速度进行改变。

程序代码:


class Vehicle():
    def __init__(self,speed,size,time,acceleration):
        self.speed = speed
        self.size = size
        self.time = time
        self.acceleration = acceleration
    def move(self):
        return "初速度:{} 加速度:{} 体积:{}".format(self.speed,self.acceleration,self.size)
    def setspeed(self):
       return "设置的初速度为:{}".format(self.speed)
    def speedUp(self):
        speed_end_up = self.speed + self.acceleration*self.time
        return "加速完后速度是:{}".format(speed_end_up)
    def speedDown(self):
        speed_end_down = self.speed - self.acceleration*self.time
        if speed_end_down < 0:
            return"减速完后速度是:0"
        else:
            return "减速完后速度是:{}".format(speed_end_down)
car = Vehicle(1,2,5,2)
print(car.move())
print(car.setspeed())
print(car.speedUp())
print(car.speedDown())

运行结果:

C:\ProgramData\Anaconda3\python.exe D:/blue5/05.py
初速度:1 加速度:2 体积:2
设置的初速度为:1
加速完后速度是:11
减速完后速度是:0

进程已结束,退出代码0
  • 14
    点赞
  • 124
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,根据您的要求,我可以给出以下Python代码示例来定义一个学生: ```python class Student: # 定义属性姓名年龄成绩语文数学英语) def __init__(self, name, age, chinese_score, math_score, english_score): self.name = name self.age = age self.chinese_score = chinese_score self.math_score = math_score self.english_score = english_score # 定义方法:获取学生姓名 def get_name(self): return self.name # 定义方法:获取学生年龄 def get_age(self): return self.age # 定义方法:获取三门科目中最高的分数 def get_course(self): return max(self.chinese_score, self.math_score, self.english_score) ``` 在上面的代码中,我们定义了一个名为`Student`的,它有五个属性姓名年龄语文成绩数学成绩英语成绩,以及三个方法:获取学生姓名、获取学生年龄和获取三门科目中最高的分数。在方法中,我们使用了`self`关键字来引用属性。注意,`get_course`方法中使用了Python内置的`max`函数来获取三门科目中最高的分数。 这个可以用以下方式实例化并使用: ```python # 创建一个名为Tom的学生实例 tom = Student("Tom", 18, 90, 85, 95) # 调用方法获取学生姓名年龄和最高分数 name = tom.get_name() age = tom.get_age() highest_score = tom.get_course() # 输出结果 print("姓名:", name) print("年龄:", age) print("最高分数:", highest_score) ``` 希望这个示例能够帮助您理解如何定义一个学生。如果您有任何其他问题,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值