python之面向对象练习题(七)

      • 1、 该程序中有类:Lader、Circle,具体要求如下:
      • 2、按要求编写程序。
      • 3、按要求编程序。
      • 4、编写应用程序
      • 5、创建一个Point类,有属性x,y,方法getX(),setX(),还有一个构造方法初始化x和y。创建对象测试它
      • 6、编写一个类A,该类创建的对象可以调用方法f输出小写的英文字母表。
      • 7、按要求编写一个应用程序:
      • 8、要求编写一个应用程序:

1、 该程序中有类:Lader、Circle,具体要求如下:

Lader类具有上底、下底、高、面积属性,具有返回面积的功能,构造方法对上底、下底、高进行初始化。
Circle类具半径、周长和面积属性,具有返回周长、面积的功能,构造方法对半径进行初始化

class Lader:
    def __init__(self, upper, lower, high):
        self.upper = upper
        self.lower = lower
        self.high = high
    def square(self):
        s = (self.upper + self.lower) * self.high / 2
        return s
l = Lader(1, 2, 3)
print(l.square())
class Circle:
    def __init__(self, r):
        self.r = r
    def zc(self):
        c = 2 * 3.14 * self.r
        return c
    def square(self):
        s = 3.14 * pow(self.r, 2)
        return s
c = Circle(1)
print(c.zc())
print(c.square())

运行结果:
4.5
6.28
3.14

2、按要求编写程序。

(1)建立一个名叫Cat的类:
属性:姓名、毛色、年龄
行为:显示姓名、喊叫
(2)创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输
出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

class Cat:
    def __init__(self, name, color, age):  # 对属性进行初始化
        self.name = name
        self.color = color
        self.age = age
    # 显示姓名的函数
    def showName(self):
        print('姓名:', self.name)
    # 显示叫喊的函数
    def showJh(self):
        print('喵喵喵...')
c = Cat('妮妮', '灰色', 2)
print(c.color, c.age)
c.showName()
c.showJh()

运行结果:
灰色 2
姓名: 妮妮
喵喵喵...

3、按要求编程序。

(1)创建一个叫做People的类:
属性:姓名、年龄、性别、身高
行为:说话、计算加法、改名
编写能为所有属性赋值的构造方法;
(2)创建一个对象:名叫“张三”,性别“男”,年龄18岁,身高1.80;
让该对象调用成员方法:
说出“你好!”
计算23+45的值
将名字改为“李四”

class People:
    def __init__(self, name, age, sex, high):
        self.name = name
        self.age = age
        self.sex = sex
        self.high = high
    def speak(self):
        print('你好!')
    def addSum(self, a, b):
        return a + b
    def reName(self, name):
        self.name = name
zs = People('张三', 18, '男', 1.8)
zs.speak()
print(zs.addSum(23, 45))
zs.reName('李四')
print(zs.name)

运行结果:
你好!
68
李四

4、编写应用程序

首先,定义描述学生的类——Student,包括学号、姓名、年龄等属性;outPut()用于输出学生信息。
创建多个Student类的对象,使用这些对象来测试Student类的功能。

class Student:
    # 构造方法,实现对属性的初始化
    def __init__(self, sno, sname, sage):
        self.sno = sno
        self.sname = sname
        self.sage = sage
    def outPut(self):
        return f'学生学号:{self.sno}, 学生姓名:{self.sname}, 学生年龄:{self.sage}'
z = Student(1, '张三', 17)
print(z.outPut())
l = Student(2, '李四', 18)
print(l.outPut())

运行结果:
学生学号:1, 学生姓名:张三, 学生年龄:17
学生学号:2, 学生姓名:李四, 学生年龄:18

5、创建一个Point类,有属性x,y,方法getX(),setX(),还有一个构造方法初始化x和y。创建对象测试它

class Point:
    def __init__(self, x, y):
        self.__x = x
        self.y = y
    def getX(self):
        return self.__x
    def setX(self, x):
        if x > 0:
            self.__x = x
        else:
            self.__x = 0
p = Point(1, 2)
print(p.getX())
print(p.y)

运行结果:
1
2

6、编写一个类A,该类创建的对象可以调用方法f输出小写的英文字母表。

然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法f输出小写的英文字母表,而且可以调用子类新增的方法g输出大写的英文字母表。测试类A与类B

class A:
    def f(self):
        for i in range(ord('a'), ord('z')+1):
            print(chr(i), end=' ')
        print()
class B(A):
    def g(self):
        for i in range(ord('a'), ord('z')+1):
            print(chr(i).upper(), end=' ')
        # for i in range(ord('A'), ord('Z')+1):
        #     print(chr(i), end=' ')
b = B()
b.f()
b.g()

运行结果:
a b c d e f g h i j k l m n o p q r s t u v w x y z 
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 

7、按要求编写一个应用程序:

(1)定义一个类,描述一个矩形,包含有长、宽两种属性和计算面积方法。
(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性和计算体积的方法。
(3)创建一个长方体,定义其长、宽、高,输出其面积和体积

class A:
    def __init__(self, c, k):
        self.c = c
        self.k = k
    def s(self):
        return self.c * self.k
class B(A):
    def g(self, h):
        return self.c * self.k * h
c = B(1, 2)
print(c.s())
print(c.g(3))

运行结果:
2
6

8、要求编写一个应用程序:

定义类Circle(圆),属性有半径,构造方法可以为属性初始化,返回圆的面积
定义类Cylinder(圆柱),属性有半径,高;返回圆柱的体积

class Circle:
    def __init__(self, r):
        self.r = r
    def s(self):
        return 3.14 * pow(self.r, 2)
class Cylinder(Circle):
    def t(self, h):
        return 3.14 * pow(self.r, 2) * h
c = Cylinder(1)
print(c.s())
print(c.t(1))

运行结果:
3.14
3.14

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/16907.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QML应用动画(Applying Animations)

目录 一 扩展可点击图像元素版本2(ClickableImage Version2) 1 第一个火箭 2 第二个火箭 3 第三个火箭 动画可以通过以下几种方式来应用: 属性动画 - 在元素完整加载后自动运行; 属性动作 - 当属性值改变时自动运行&#xf…

【栈】的实现

🖊作者 : D. Star. 📘专栏 : 数据结构 😆今日分享 : —>📖区块链 : 小明向你借100块钱,说一周后还你,然后你拿个喇叭大喊一声:我是某某,小明向我借了100块&#xff0c…

Vue3+Element Plus环境搭建和一键切换明暗主题的配置

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。而Element Plus是一款基于Vue3面向设计师和开发者的组件库。 最终效果: 环境搭建 已安装 16.0 或更高版本的 Node.js,终端: npm init vuelatest这一…

Three.js--》Gsap动画库基本使用与原理

目录 Gsap动画库使用讲解 Gsap动画库基本使用 修改自适应画面及双击进入全屏 设置stats性能监视器 Gsap动画库使用讲解 GSAP的全名是GreenSock Animation Platform,是一个从flash时代一直发展到今天的专业动画库,今天将其与three.js进行结合&#x…

面试官:你知道 Spring lazy-init 懒加载的原理吗?

普通的bean的初始化是在容器启动初始化阶段执行的,而被lazy-init修饰的bean 则是在从容器里第一次进行context.getBean(“”)时进行触发。 Spring 启动的时候会把所有bean信息(包括XML和注解)解析转化成Spring能够识别的BeanDefinition并存到Hashmap里供下面的初始…

HttpRunner3.x 源码解析(5)-runner.py

首先看下生成的pytest文件 from httprunner import HttpRunner, Config, Step, RunRequest, RunTestCaseclass TestCaseLogin(HttpRunner):config (Config("登录成功").variables(**{"password": "tester", "expect_foo2": "co…

4.4.1内核编译

内核源码下载地址: https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.4.1.tar.gz 安装依赖包:报错就装 cp /boot/config-xxx ./.config make mrproper make menuconfig,然后save保存,退出 make -j4 //四线程编译 sudo ma…

Java基础(十六)泛型

1. 泛型概述 1.1 生活中的例子 举例1:中药店,每个抽屉外面贴着标签 举例2:超市购物架上很多瓶子,每个瓶子装的是什么,有标签 举例3:家庭厨房中: Java中的泛型,就类似于上述场景中的…

计算机视觉的应用4-目标检测任务:利用Faster R-cnn+Resnet50+FPN模型对目标进行预测

大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用4-目标检测任务,利用Faster RcnnResnet50FPN模型对目标进行预测,目标检测是计算机视觉三大任务中应用较为广泛的,Faster R-CNN 是一个著名的目标检测网络&#x…

【Java校招面试】基础知识(六)——计算机网络

目录 前言一、TCP协议 / UDP协议二、HTTP协议后记 前言 本篇主要介绍计算机网络的相关内容。 “基础知识”是本专栏的第一个部分,本篇博文是第六篇博文,如有需要,可: 点击这里,返回本专栏的索引文章点击这里&#xf…

操作系统——操作系统逻辑结构

0.关注博主有更多知识 操作系统入门知识合集 目录 2.1操作系统的逻辑结构 思考题: 2.2CPU的态 思考题: 2.3中断机制 2.1操作系统的逻辑结构 操作系统的结构指的是操作系统的设计和实现思路,按照什么样的结构设计、实现。 操作系统的…

公司新来的00后真是卷王,工作没2年,跳槽到我们公司起薪18K都快接近我了

说00后躺平了,但是有一说一,该卷的还是卷。这不,前段时间我们公司来了个00后,工作都没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 …

通过Python的PIL库给图片添加图片水印

文章目录 前言一、素材准备1.原图2.水印图 二、使用PIL库给图片添加图片水印1.引入库2.定义图片路径3.打开原图4.打开水印图片5.计算水印图片大小6.计算原图大小7.调整水印图片大小7.1调整前7.2调整后 8.计算水印图片位置8.1左上8.2左下8.3右上8.4右下8.5中间 9.添加水印10.保存…

Doris(20):Doris的函数—数学函数

1 查看函数名 show builtin functions in test_db; 2 abs(double a) 功能: 返回参数的绝对值 返回类型:double类型 使用说明:使用该函数需要确保函数的返回值是整数。 3 acos(double a) 功能: 返回参数的反余弦值 返回类型:double类型 MySQL 中反余弦函数 ACOS(…

数据库基础及用户管理授权

数据库概念 关系型数据库 数据结构二维表格 库 -> 表 -> 列(字段):用来描述对象的的一个属性;行:用来描述一个对象的信息 mysql(5.7/8.0) maridb ocracle postgresql sqlserver(windows…

196页11万字智慧水务平台建设方案

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。 业务需求分析 3.1 主要业务描述 (1)调度中心主要业务描述 配套工程调度中心为一级调度机构,同时也是水务集团原水供水的统一调度中心。…

Iron Web Scraper 2023.4.13 Crack

Iron Web Scraper 被认为是 C# 的互联网抓取库,它能够让用户和开发者激发和最终的个人浏览行为,以提取文件、内容甚至图片和应用程序。动词作为 .NET 的本机项。IronWebScraper 具有从后台处理礼貌和多线程进程的能力,这使得用户程序很容易简…

SpringCloud学习(七)——统一网关Gateway

文章目录 1. 网关介绍2. 网关搭建2.1 引入依赖2.2 创建启动类2.3 编写配置2.4 测试 3. 路由断言工厂4. 路由过滤器4.1 过滤器配置4.2 全局过滤器4.3 过滤器执行顺序 5. 跨域问题处理 1. 网关介绍 到现在,我们可以使用Nacos对不同的微服务进行注册并管理配置文件&am…

天气预报查询 API 提供个性化的天气服务的设计思路

引言 假设你是一个开发人员或公司,正在考虑开发一款天气应用程序,但你意识到市场上已经有很多竞争者在使用天气预报查询 API 来提供类似的服务,本文将一起探寻一些创新的方法来提高应用程序的竞争力。 扩大竞争力的一些建议 如果市面上已经…

Redis主从复制和哨兵模式

Redis主从复制 概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Reds服务器。前者称为主节点(master / leader),后者称为从节点(slave / follower)。 数据的复制是单向的,只能由主节点到从节点。 Master以写为主,Slave…
最新文章