Skip to main content

Command Palette

Search for a command to run...

Python 阶段编程练习(十六)

Published
2 min read
Python 阶段编程练习(十六)

编程练习

圆形、长方形除了是几何学科中的基本图形之外,也还是我们日常生活中最常见的平面图形。请根据面向对象的相关知识,将上述两种平面图形用Python语言进行表示,使得我们的程序可以正常对其使用。 效果图如下:

2

任务
  1. 自定义Point类,并重写其构造(初始化)方法init( ),将参数x和y赋值给实例对象的属性
  2. 自定义该类实例方法string( ),功能:打印“{X:xx, Y:xx}”
  3. 自定义Circle类,继承自Point类,并重写其构造(初始化)方法init( ),x、y参数通过调用父类的构造函数进行赋值,radius通过子类重写的 init( )进行赋值。
  4. 自定义该类实例方法string( ),功能:打印“该图形初始化点为:{X:xx, Y:xx}; {半径为:xx}”
  5. 自定义Size类,并重写其构造(初始化)方法init( ),将参数width和height赋值给实例对象的属性
  6. 自定义该类实例方法string( ),功能:打印“{Width:xx, Height:xx}”
  7. 自定义Rectangle类,继承自Point类和Size类,并重写其构造(初始化)方法init( ),x、y、width、height 4个参数全部通过调用父类的构造函数进行赋值
  8. 自定义该类实例方法string( ),功能:打印“该图形初始化点为:{X:xx, Y:xx}; 长宽分别为:{Width:xx, Height:xx}
  9. 初始化Circle类的对象c,并调用其格式化输出函数string( )
  10. 初始化Rectangle类的对象r1、r2,并分别调用其格式化输出函数string( )
任务提示
  1. 在自定义Rectangle类的构造方法时,调用父类方法必须按照类名.init(参数列表)的方式进行调用,如Point.init(self, x, y)
  2. 自定义Rectangle类格式化输出方法时,调用父类的格式化输出函数string()
初始代码
class Point(object):
    # 自定义Point类的构造(初始化)方法

    # 自定义Point类对象的格式化输出函数(string())

class Circle(Point):
    # 自定义Circle类的构造(初始化)方法

    # 自定义Circle类对象的格式化输出函数(string())

class Size(object):
    # 自定义Size类的构造(初始化)方法

    # 自定义Size类对象的格式化输出函数(string())

class Rectangle(Point, Size):

    # 自定义Rectangle类的构造(初始化)方法,并在方法中调用父类的初始化方法以完成初

    # 自定义Rectangle类对象的格式化输出函数(string()

if __name__ == "__main__":
    # 实例化Circle对象,圆心为(5,5),半径为8

    # 实例化Rectangle对象,顶点位置(15,15),长和宽

    # 实例化Rectangle对象,顶点位置(40,30),长和宽
代码提交区
# coding:utf-8
class Point(object):
    # 自定义Point类的构造(初始化)方法
    def __init__(self, x, y):
        self.x = x
        self.y = y
    # 自定义Point类对象的格式化输出函数(string())
    def string(self):
        print('X:{0},Y:{1}'.format(self.x, self.y))
class Circle(Point):
    # 自定义Circle类的构造(初始化)方法
    def __init__(self, x, y, radius):
        super().__init__(x, y)
        self.radius = radius
    # 自定义Circle类对象的格式化输出函数(string())
    def string(self):
        print('该图像的初始化点为:X{0},Y{1},半径为{2}'.format(self.x, self.y,self.radius))
class Size(object):
    # 自定义Size类的构造(初始化)方法
    def __init__(self, width, height):
        self.width = width
        self.height = height
    # 自定义Size类对象的格式化输出函数(string())
    def string(self):
        print('width:{0},height:{1}'.format(self.width, self.height))
class Rectangle(Point, Size):
    # 自定义Rectangle类的构造(初始化)方法,并在方法中调用父类的初始化方法以完成初
    def __init__(self, x, y, width, height):
        Point.__init__(self, x, y)
        Size.__init__(self, width, height)
    # 自定义Rectangle类对象的格式化输出函数(string())
    def string(self):
        Point.string(self)
        Size.string(self)


if __name__ == "__main__":
    # 实例化Circle对象,圆心为(5,5),半径为8
    circle = Circle(5, 5, 8)
    circle.string()
    # 实例化Rectangle对象,顶点位置(15,15),长和宽
    r1 = Rectangle(15, 15, 15, 15)
    r1.string()
    # 实例化Rectangle对象,顶点位置(40,30),长和宽
    r2 = Rectangle(40, 30, 11, 14)
    r2.string()
1 views

More from this blog

MySQL | 表的内连接

数据操作语言:表连接查询(一) 从多张表中提取数据 从多张表提取数据,必须指定关联的条件。如果不定义关联条件就会出现无条件连接,两张表的数据会交叉连接,产生 笛卡尔积。 规定了连接条件的表连接语句,就不会出现笛卡尔积。 # 查询每名员工的部门信息 SELECT e.empno,e.ename,d.dname FROM t_emp e JOIN t_dept d ON e.deptno=d.deptno; 表连接的分类 表连接分为两种:内连接 和 外连接 内连接是结果集中只保留符合...

May 16, 20221 min read13
MySQL | 表的内连接

MySQL | 分组查询的应用

数据操作语言:分组查询 为什么要分组? 默认情况下汇总函数是对全表范围内的数据做统计 GROUP BY 子句的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对每个小区域分别进行数据汇总处理 SELECT deptno,AVG(sal) FROM t_emp GROUP BY deptno; SELECT deptno,ROUND(AVG(sal)) FROM t_emp GROUP BY deptno; -- ROUND 取整 逐级分组 数据库支持多列分组条件,执行的时候...

Apr 27, 20221 min read10
MySQL | 分组查询的应用

MySQL | 聚合函数的使用

数据操作语言:聚合函数 什么是聚合函数 聚合函数在数据的查询分析中,应用十分广泛。聚合函数可以对 数据求和、求 最大值 和 最小值 、求 平均值 等等。 求公司员工的评价月收入是多少? SELECT AVG(sal+IFNULL(comm,0)) FROM t_emp; SELECT AVG(sal+IFNULL(comm,0)) AS avg FROM t_emp; SUM 函数 SUM 函数用于求和,只能用户数字类型,字符类型的统计结果为 0 ,日期类型统计结果是毫秒数相加 SE...

Apr 26, 20221 min read8
MySQL | 聚合函数的使用
U

Untitled Publication

173 posts