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

你可能感兴趣的:(Python,python,开发语言)