单击题目,直接跳转到页面刷题,一周后公布答案。加入QQ群701657573,随时答疑交流。
- 218:类对象属性
- 219:坐标对象相加
- 220:计算周长
- 221:学生分数总和
- 222:车辆类中创建引擎类对象
- 223:调用父类方法
- 224:super()函数的使用
- 225:正方形的面积和周长
1. 218:类对象属性
编写一个程序来创建一个类并使用该类的方法来打印属性。
创建一个类:
- 创建自行车Bicycle类。
- 在类中,创建两个方法__init__()和print_attributes()。
- 类有两个属性:gear’和speed,它们应该在__init__()中初始化。
- 在print_attributes()方法中,将gear属性和speed属性分别打印在两行。
在类外:
- 创建Bicycle类对象bicycle1。对象的gear和speed属性分别是4和80。
- 使用bicycle1对象调用print_attributes()方法。
更多提示,请看代码示例。
示例输出
4
80
参考源码:
# 创建Bicycle类
class Bicycle:def __init__(self, gear, speed):# 初始化属性 self.gear = gearself.speed = speed# 创建print_atributes() 方法 def print_atributes(self):print(self.gear)print(self.speed)# 创建对象, 4 和 80 作为初始化参数
bicycle1 = Bicycle(4, 80)# 调用 print_atributes() 方法
bicycle1.print_atributes()
2. 219:坐标对象相加
编写一个程序,计算两个二维坐标类对象相加之和。
创建类:
- 创建坐标类Coordinate,属性为x和y。
- 使用__init__()方法来初始化属性。
- 该类有add_coordinates()方法,参数为Coordinate类对象,计算两个对象的x和y分别相加之和,并作为新的属性返回一个新的Coordinate对象。
在类外:
- 创建两个Coordinate类对象c1和c2。
- c1的x和y属性分别为5和6。
- c2的x和y属性分别为7和9。
- 使用c1对象调用add_coordinates(),以c2为参数,并将结果赋值到c3变量中。
- 打印c3的x属性。
- 打印c3的y属性。
更多提示,请看代码示例。
示例输出
12
15
参考源码:
# 创建 Coordinate 类
class Coordinate:# 初始化属性x 和 y,使用__init__() 函数def __init__(self, x, y):self.x = xself.y = y# 实现 add_coordinates() 方法 def add_coordinates(self, a):# b = Coordinate(0, 0) # 创建新的Coordinate对象b# b.x = self.x + a.x# b.y = self.y + a.y# return breturn Coordinate(self.x+a.x, self.y+a.y)# 创建对象 c1 和 c2
c1 = Coordinate(5, 6)
c2 = Coordinate(7, 9)# 对象c1调用add_coordinates()方法,参数为c2
c3 = c1.add_coordinates(c2)# 输出对象c3 的属性
print(c3.x)
print(c3.y)
3. 220:计算周长
编写一个程序来计算三角形的周长,使用面向对象方式来编程。
创建类:
- 创建三角形Triangle类,有三个属性x,y,z。
- 使用__init__()方法来初始化属性。
- 创建get_perimeter()的方法来计算周长并返回。
在类外:
- 输入三个整数,分别赋值给变量a、b和c。(三角形三边长度)。
- 用a、b、c创建Triangle类对象。
- 用该对象调用get_perimeter()方法,返回周长。
- 打印周长。
输入格式
三个整数
示例输入
1
2
3
示例输出
6
参考源码:
# 创建三角形类Triangle
class Triangle:# 实现__init__()方法 ,初始化属性def __init__(self, x, y, z):self.x = xself.y = yself.z = z# 定义 get_perimeter() 方法 def get_perimeter(self):return self.x + self.y + self.z# 输入三个整数
a = int(input())
b = int(input())
c = int(input())# 创建Triangle类对象,并用a、b、c作为参数初始化三边
my_tri = Triangle(a, b, c)# 调用 get_perimeter() 计算周长
perimeter = my_tri.get_perimeter()# 打印 周长 perimeter
print(perimeter)
4. 221:学生分数总和
编写一个程序来创建Student类,该类有一个方法返回存储在列表中的分数之和。
创建类:
- 创建Student类,且有一个分数scores属性(类型为列表)。
- 创建__init__()方法初始化scores属性。
- 创建get_scores_sum()方法,将分数相加返回。可使用内置的 sum()函数。
类外部:
- 创建列表scores值为[55, 75, 80, 62, 77]。
- 创建Student类对象s1,并传入scores来初始化属性。
- 调用get_scores_sum()方法,结果存入total变量。
- 打印total变量。
示例输出
349
参考源码:
# 创建 Student 类
class Student:# 使用 __init__() 方法来初始化 scores 属性 def __init__(self, scores):self.scores = scores# 创建get_scores_sum()方法,将分数相加返回def get_scores_sum(self):return sum(self.scores)# 创建列表 scores
scores = [55, 75, 80, 62, 77]# 传递分数scores作为参数创建Student类对象
s1 = Student(scores)# 对象s1调用方法get_scores_sum()
total = s1.get_scores_sum()# 打印 total
print(total)
5. 222:车辆类中创建引擎类对象
编写写一个程序,在一个类中创建另一个类的对象。
创建类:
- 创建两个类:发动机类Engine,属性为动力power;车辆类Vehicle,属性为: 轮子wheels和发动机engine。
- Engine类__init__()方法,带两个参数。self和power来创建并初始化Engine类的power属性。
- Vehicle类__init__()方法,带两个参数self和wheels来初始化Vehicle类的wheels属性。
- 在Vehicle的__init__()方法中,engine属性应该为一个Engine类的对象,其power属性等于400。
- 在Vehicle类中创建get_power()方法,打印 属性engine的power属性。
在类外:
- 创建车辆Vehicle类对象,轮子wheels属性等于4。
- 调用该对象的get_power()方法。
更多提示,请看代码示例。
示例输出
400
参考源码:
# 创建Engine类
class Engine:# __init__() 方法初始化 power 属性 def __init__(self, power):self.power = power# 创建 Vehicle 类
class Vehicle:# __init__() 方法初始化 wheels 属性 def __init__(self, wheels):self.wheels = wheels# 引擎属性enginer应该是引擎类的一个对象,power属性为400self.engine = Engine(400)# 创建 get_power() 方法 def get_power(self):# 打印引擎属性的功率属性(engine是引擎类的一个对象)。print(self.engine.power)# 创建车辆Vehicle类对象
my_car = Vehicle(4)# 调用get_power()方法
my_car.get_power()
6. 223:调用父类方法
编写一个程序,使用派生类(子类)对象调用基类(父类)的方法:
创建类:
- 创建动物Animal基类。该类中,创建eat()方法,打印 “我在吃东西”。
- 创建一个继承于Animal类的Dog类。该类中,创建bark()方法,打印 “我在叫”。
在类外:
- 创建Dog类对象。
- 用该对象调用eat()方法。
示例输出
我在吃东西
参考源码:
# 创建Animal类
class Animal:def eat(self):print("我在吃东西")
# 创建 Dog 类,继承于 Animal类
class Dog(Animal):def bark(self):print("我在叫")# 创建Dog类对象
my_dog = Dog()# 调用对象的 eat() 方法
my_dog.eat()
7. 224:super()函数的使用
编写一个程序,使用super()函数在派生类的方法中调用基类的方法。
创建类:
- 创建动物Animal基类。该类中,创建eat()方法,打印 “我在吃东西”。
- 创建一个继承于Animal类的Dog类。该类中,创建bark()方法,打印 “我在叫”。
- 在Dog类中定义eat()方法,使用supper()调用父类Animal类的eat()方法。
在类外:
创建Dog类对象,用该对象调用eat()方法。
示例输出
我在吃东西
参考源码:
# 创建Animal类
class Animal():def eat(self):print("我在吃东西")# 创建 Dog 类,继承于 Animal类
class Dog(Animal):def bark(self):print("我在叫")def eat(self):# 通过super() 函数来调用父类的eat方法super().eat()# 创建Dog类对象
my_dog = Dog()# 调用对象的 eat() 方法
my_dog.eat()
8. 225:正方形的面积和周长
编写一个程序,用类来计算一个正方形的面积和周长。(正方形是一个边长相等的矩形)
创建一个类。
- 创建正方形Square类,且有一个长度length属性。
- 使用__init__()来初始化 length 属性。
- 创建compute_area()方法来计算正方形的面积并返回。
- 创建compute_perimter()方法来计算正方形的周长并返回。
在类外:
- 输入一个整数并赋值给length变量。
- 通过传递length作为参数,创建一个Square类对象。
- 调用compute_area()方法并打印面积。
- 调用compute_perimeter()方法并打印周长。
正方形的面积等于length * length,正方形的周长等于4 * length。
输入格式
一个整数
示例输入
2
示例输出
4
8
参考源码:
# 创建正方形类Square
class Square:# 实现 __init__() 函数,初始化属性 def __init__(self, length):self.length = length# 实现面积方法 get_area() ,并返回面积def get_area(self):return self.length ** 2# 实现周长方法 get_perimeter() ,并返回周长def get_perimeter(self):return 4 * self.length# 输入一个整数
length = int(input())# 创建Square类对象
my_square = Square(length)# 调用 get_area() 方法并打印面积
print(my_square.get_area())# 调用 get_perimeter() 方法并打印周长
print(my_square.get_perimeter())