第8周 Python面向对象编程刷题
单击题目,直接跳转到页面刷题,一周后公布答案。加入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())
相关文章:
第8周 Python面向对象编程刷题
单击题目,直接跳转到页面刷题,一周后公布答案。加入QQ群701657573,随时答疑交流。 218:类对象属性219:坐标对象相加220:计算周长221:学生分数总和222:车辆类中创建引擎类对象223&am…...
【学习心得】神经网络知识中的符号解释②
我在上篇文章中初步介绍了一些神经网络中的符号,只有统一符号及其对应的含义才能使我自己在后续的深度学习中有着一脉相承的体系。如果对我之前的文章感兴趣可以点击链接看看哦: 【学习心得】神经网络知识中的符号解释①http://t.csdnimg.cn/f6PeJ 一、…...
Igh related:Small Bug And Notes Record.
Write at the top My computer got some silly problem with the typing software that my Chinese IM does’t work again. So I’ll try to record the things happened in English. If any error,DM me plz. BUGs BUG1 Undefined symbol Identifier “CLOCK_MONOTONIC”…...
【QT入门】Qt自定义控件与样式设计之qss介绍(Qt style sheet)
往期回顾: 【QT入门】 无边框窗口设计之实现圆角窗口-CSDN博客【QT入门】 无边框窗口设计综合运用之自定义标题栏带圆角阴影的窗口-CSDN博客 【QT入门】 无边框窗口设计之综合运用,实现WPS的tab页面-CSDN博客 【QT入门】Qt自定义控件与样式设计之qss介绍…...
[ LeetCode ] 题刷刷(Python)-第49题:字母异位词分组
题目描述 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词是由重新排列源单词的所有字母得到的一个新单词。 即将含有相同字符但排列顺序不同的字符串放入同一个组中。 示例 示例 1: 输入: strs ["eat", &qu…...
冒泡排序算法实现步骤
算法实现的过程: 1. 定义问题: - 算法是用来解决某一特定计算问题的方法步骤。例如,对于排序问题,我们需要一个算法对一组无序的整数进行排序。 2. 设计算法: - 冒泡排序是一种基础的排序算法。它的设计思路是…...
js实现webp转png/jpg
网上保存的图片是webp类型的,但是我把它嵌入flac格式的音频里后导致网页中无法播放 wps要会员,真麻烦。 完整代码: <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8">…...

DVWA -File Upload-通关教程-完结
DVWA -File Upload-通关教程-完结 文章目录 DVWA -File Upload-通关教程-完结页面功能LowMediumHighImpossible 页面功能 此页面的功能为选择某个图片文件点击Upload按钮上传,上传成功后得知文件上传路径为DVWA\hackable\uploads。 Low 源码审计 这段 PHP 代码…...

中介者模式:简化对象间通信的协调者
在面向对象的软件开发中,中介者模式是一种重要的行为型设计模式,用于降低多个对象间通信的复杂性。通过提供一个中心化的对象来处理不同组件之间的交互,中介者模式使得组件间不必显式引用彼此,从而使其松散耦合、更易于维护。本文…...

【Python系列】pydantic版本问题
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

深度学习-多尺度训练的介绍与应用
一、引言 在当今快速发展的人工智能领域,多尺度训练已经成为了一种至关重要的技术,特别是在处理具有复杂结构和不同尺度特征的数据时。这种技术在许多应用中发挥着关键作用,例如图像识别、自然语言处理和视频分析等。 多尺度训练的定义 多尺…...
详解单文件组件
当你创建 Vue 单文件组件时,通常会包含三个部分:<template>、<script> 和 <style>。这三个部分分别用于定义组件的模板、逻辑和样式。让我更详细地解释一下它们的作用和用法: <template> <template> 标签用于…...

MLeaksFinder报错
1.报错:FBClassStrongLayout.mm 文件:layoutCache[currentClass] ivars; 解决:替换为layoutCache[(id)currentClass] ivars; 2.编译正常但运行时出现crash indirect_symbol_bindings[i] cur->rebinding FBRetainCycleDetector iOS15 …...

【心路历程】初次参加蓝桥杯实况
送给大家一句话: 寂静的光辉平铺的一刻,地上的每一个坎坷都被映照得灿烂。 – 史铁生 《我与地坛》 初次参加蓝桥杯有感 一点小小的震撼难评的做题过程A题 艺术与篮球问题描述解题 B 题 五子棋问题描述解题 C题 训练士兵问题描述解题 D题 团建解题 E题 …...

微信小程序全屏开屏广告
效果图 代码 <template><view><!-- 自定义头部 --><u-navbar title" " :bgColor"bgColor"><view class"u-nav-slot" slot"left"><view class"leftCon"><view class"countDown…...

记录day1
1.早上 ①协同过滤算法 基于物品基于用户分别是如何实现的 相似度的计算方式 基于用户和基于物品的区别 实时性和新物品这里: 实时性指的是用户有新行为,这样基于物品就好,因为用户新行为了,用户矩阵不会变化,用户…...

stm32GPio的开发基础
上拉输入:高电平(弱高电平,一般默认) 下拉输入:低电平 没有上拉下拉就是处于一个不确定的状态 推挽wan输出:驱动能力比较强,推挽是因为往外推 set就是1,reset就是0 XMX就是封装的…...
DataSource
目录 1、 DataSource 1.1、 * 建立数据库连接的参数对象 1.1.1、 * 数据库url 1.1.2、 * 数据库用户名 1.1.3、 * 数据库密码 1.1.4、 * 数据库驱动名称 <...
Linux防止暴力破解密码脚本
1.认识记录linux记录安全的日志 [roottestpm ~]# cd /var/log/ [roottestpm log]# ls | grep secure secure 2.该日志的内容查看 [roottestpm log]# tail -f secure #表示ssh身份验证失败 Aug 29 23:35:03 testpm sshd[111245]: pam_unix(sshd:auth): authentication fa…...

Unity 遮罩
编辑器版本 2017.2.3f1 学习Unity的三张遮罩方式 1. Mask 遮罩方式 首先,在界面上创建2个Image,一个命名Img_Mask,大小设置 400* 400, 一个命名Img_Show,大小设置500*500。 然后,给 Img_Mask添加Mask,选择Img_Mask,点击Add Com…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
第八部分:阶段项目 6:构建 React 前端应用
现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx
“Reactive Stream Processing in Industrial IoT using DDS and Rx” 是指在工业物联网(IIoT)场景中,结合 DDS(Data Distribution Service) 和 Rx(Reactive Extensions) 技术,实现 …...

Java设计模式:责任链模式
一、什么是责任链模式? 责任链模式(Chain of Responsibility Pattern) 是一种 行为型设计模式,它通过将请求沿着一条处理链传递,直到某个对象处理它为止。这种模式的核心思想是 解耦请求的发送者和接收者,…...
记一次spark在docker本地启动报错
1,背景 在docker中部署spark服务和调用spark服务的微服务,微服务之间通过fegin调用 2,问题,docker容器中服务器来后,注册中心都有,调用服务也正常,但是调用spark启动任务后报错,报错…...

汇编语言学习(三)——DoxBox中debug的使用
目录 一、安装DoxBox,并下载汇编工具(MASM文件) 二、debug是什么 三、debug中的命令 一、安装DoxBox,并下载汇编工具(MASM文件) 链接: https://pan.baidu.com/s/1IbyJj-JIkl_oMOJmkKiaGQ?pw…...