首先定义一个Point (点)类,包含属性x,y(x,y为坐标点),方法有setPoint、getX、getY和OprintInfo...python编程题练习

复习python编程题集合的第五题,若有错误和改进意见,欢迎评论交流!

           首先定义一个Point (点)类:
                  (1)包含属性x,y(x,y为坐标点)
                  (2)方法有setPoint 、getX、getY和OprintInfo,它们的作用分别为设置点的坐标值、获取x坐标、获取y坐标和输出点的信息(包括坐标和坐标值)
           以Point 点为基类,派生出一个Circle((圆)类:
                  (1)增加属性r(半径)
                  (2)该类的方法有setRadius,、getRadius 、calArea 和OprintInfo ,它们的作用分别为设置圆半径、获取圆半径、计算圆的面积及输出圆的信息(包括原点、半径和面积)
           编写python程序,实现Point类、Circle 类,并进行实例化测试

代码为:

import math
class Point(object):
    x,y=0,0
    def __init__( self, x,y):
        self.x=x
        self.y=y
    def setPoint( self, x,y):
        self.x=x
        self.y = y
    def getX(self):
        return self.x
    def getY(self):
        return self.y
    def printInfo(self):
        print('x: ' + str(self.getX()))
        print('y: ' + str(self.getY()))
        print('坐标: ' + str((self.x,self.y)))

point = Point(1,2)
point.printInfo()
print('___________________________________________________________________________')

class Circle(Point):
    def __init__(self,x,y,r):
        Point.__init__( self, x,y)
        self.setRadius(r)
    def setRadius(self,r):
        self.r=r
    def getRadius(self):
        return self.r
    def calAera(self):
        return math.pi*self.r*self.r
    def printlnfo(self):
        print('原点: ' + str((self.x, self.y)))
        print('半径: ' + str(self.getRadius()))
        print('面积: ' + str(self.calAera()))

circle=Circle(1,1,2)
circle.printlnfo()

输出为:
在这里插入图片描述
           之前的四道在:python复习之编译题(列表不重复降序输出、类的私有属性、多重继承)


这里是平平无奇的77,妄想优秀 ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ … 0%,若想转载请注明原链接,欢迎下次再来!!

  • 14
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是实现Point和CirclePython代码: ```python import math class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def setPoint(self, x, y): self.x = x self.y = y def getX(self): return self.x def getY(self): return self.y def printInfo(self): print("Point: ({}, {})".format(self.x, self.y)) class Circle(Point): def __init__(self, x=0, y=0, r=0): super().__init__(x, y) self.r = r def setRadius(self, r): self.r = r def getRadius(self): return self.r def calArea(self): return math.pi * self.r ** 2 def printInfo(self): print("Circle: center ({}, {}), radius {}, area {:.2f}".format(self.x, self.y, self.r, self.calArea())) # 测试代码 p = Point(1, 2) p.printInfo() c = Circle(3, 4) c.setRadius(5) c.printInfo() ``` 运行结果: ``` Point: (1, 2) Circle: center (3, 4), radius 5, area 78.54 ``` 我们先定义了一个Point包含x和y两个坐标属性,以及setPointgetX、getY和printInfo四个方法。其setPoint用于设置坐标值,getX和getY用于获取x和y坐标,printInfo用于输出的信息。 然后,我们派生出一个Circle,它继承自Point,并增加了一个半径属性r。Circle方法setRadius、getRadius、calArea和printInfo。其setRadius用于设置圆的半径,getRadius用于获取圆的半径,calArea用于计算圆的面积,printInfo用于输出圆的信息。 在测试代码,我们先实例化了一个Point对象p,并调用了它的printInfo方法输出的信息。然后实例化了一个Circle对象c,设置了它的半径为5,并调用了它的printInfo方法输出圆的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值