第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…...
jmeter实验 模拟:从CSV数据到加密请求到解密返回数据再到跨越线程组访问解密后的数据
注意,本实验所说的加密只是模拟加密解密,您需要届时写自己的加解密算法或者引用含有加密算法的相关jar包才行. 思路: 线程组1: 1.从CSV文件读取原始数据 2.将读取到的数据用BeanShell预习处理器进行加密 3.HTTP提取器使用加密后的数据发起请求 4.使用BeanShell后置处理器…...
设计模式——外观(门面)模式10
外观模式:能为系统框架或其他复杂业务流程封装提供一个简单的接口。 例如抽奖过程中 设计模式,一定要敲代码理解 调用1(抽奖系统) /*** author ggbond* date 2024年04月08日 10:34*/ public class Lottery {public String getId…...
第七周周一人工智能导论预告
第一讲 人工智能概述 1.1 简介 1.2人工智能的概念 1.3 人工智能的发展简史 1.4 人工智能研究的基本内容 第一讲 人工智能概述单元测试 第二讲 一阶谓词逻辑表示法 2.1 命题逻辑 2.2 谓词逻辑 2.3 一阶谓词逻辑知识表示法 第二讲 一阶谓词逻辑知识表示法单元测试 第…...
npm install 的不同选项:--save、--save-dev、-S、-D 的区别
Node.js 的包管理器 npm 提供了一个命令 npm install,用于安装 Node.js 项目所需的依赖包。在使用这个命令时,我们可以通过添加不同的选项来控制依赖包的安装方式。本文将详细介绍这些选项:--save、--save-dev、-S 和 -D 的区别。 1. --save…...
设计模式详解(十四)——策略模式
策略模式简介 策略模式定义 策略模式(Strategy Pattern)是一种行为型设计模式,它使能在运行时改变对象的行为。策略模式属于对象行为模式,它定义了一系列的算法,并将每一个算法封装起来,使它们可以互相替换…...
【牛客SQL快速入门】SQL基础(二)
一、高级查询 1. 计算函数 AVG AVG()为平均值函数,通过对表中行数计数并计算其列值之和,求得该列的平均值。 AVG() 可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。 Select avg(gpa) From user_profile COUNT COUNT()函数…...
利用Java代码调用Lua脚本改造分布式锁
4.8 利用Java代码调用Lua脚本改造分布式锁 lua脚本本身并不需要大家花费太多时间去研究,只需要知道如何调用,大致是什么意思即可,所以在笔记中并不会详细的去解释这些lua表达式的含义。 我们的RedisTemplate中,可以利用execute方…...
7/8电源连接器航空插头端子
概述 7/8电源连接器是一种工业电源连接器的规格型号之一,常见于工业领域的电力传输和连接应用。它的名称中的“7/8”代表连接器插头的直径尺寸,通常为7/8英寸。这种类型的连接器通常用于较大电流传输和较高功率设备的连接,具有较大的电流承载…...
华为OD-C卷-游戏分组[100分]
题目描述 部门准备举办一场王者荣耀表演赛,有 10 名游戏爱好者参与,分为两队,每队 5 人。 每位参与者都有一个评分,代表着他的游戏水平。为了表演赛尽可能精彩,我们需要把 10 名参赛者分为示例尽量相近的两队。 一队…...
【c++】优先级队列|反向迭代器(vector|list)
优先级队列的常用函数的使用 #include<iostream> #include<queue> using namespace std;int main() {priority_queue<int>st;st.push(1);st.push(7);st.push(5);st.push(2);st.push(3);st.push(9);while (!st.empty()){cout << st.top() << &qu…...
建网站外包公司/南昌seo排名优化
当我在pythonidle中运行这些代码时,我得到了一个警告,如何解决这个问题?在WARNING:root:Cannot locate objid nnn# -*- coding: utf-8 -*-from pdfminer.pdfinterp import PDFResourceManager, process_pdffrom pdfminer.converter import Te…...
昆明网站建设公司排名/百度竞价推广有哪些优势
import random #导入随机数工具包 def rollDice(): die1 random.randrange( 1, 7 ) #取1到7之间的任意一个数 die2 random.randrange( 1, 7 ) #取1到7之间的任意一个数 workSum die1 die2 #求两个随机数的和 print "Player rolled %d %d %d" % ( die1, die2, …...
wordpress自定义文章类别/社交媒体推广
1.打开命令行(windowsr->输入cmd回车) 2.输入命令:svnadmin create 仓库地址(C:\app_cangku)后回车键-----------------------仓库建好了 3.打开仓库地址如图 4.配置仓库: 打开conf文件夹 首先配置svnse…...
网站 技术/100个成功营销策划案例
Logstash配置文件 Logstash有两种配置文件:管道配置文件,它定义Logstash处理管道,以及设置文件,它指定控制Logstash启动和执行的选项。 管道配置文件 在定义Logstash处理管道的各个阶段时,你将创建管道配置文件&#x…...
版本设计网站/北京全网营销推广
数据倾斜是怎么发生的? 数据倾斜:shuffle过程数据分布不均匀。 shuffle:洗牌。 分步式计算,相同key的数据会到一个节点去处理。 举个例子:某宝想统计各个商家的一年销售额,有的商家卖了很多产品࿰…...
昆山住房和城乡建设局网站首页/电商网站销售数据分析
在开发中,我们经常需要通过配置不同的环境,来调试代码,比如数据源配置,日志配置,以及其他一些配置。避免使用同一套配置,这样开发和测试时,如果出现问题,只是影响测试环境࿰…...