创建类矩形

时间:2014-02-24 23:56:44

标签: python-3.x

我是python的新手,我正在试图找出如何在矩形中进行类。我不知道从哪里开始为此编写代码。只是寻找一些帮助开始。非常感谢任何帮助。

使用以下属性和方法创建名为“Rectangle”的类(包括每个方法的示例运行):

  1. 每个实例都应具有x,y,width和height属性。

  2. 您应该能够在创建矩形时传递属性,如下所示(其中x = 5,y = 10,width = 50,height = 100依次):

    r =矩形(5,10,50,100)

  3. 创建一个将矩形作为字符串返回的方法(提示:实现 str )。对于属性值为x = 5,y = 10,width = 50,height = 100的矩形对象,它应返回字符串“Rectangle(5,10,50,100)”。

    r2 =矩形(5,10,50,100)

    打印(R2)

    矩形(5,10,50,100)

  4. 创建一个名为right的方法,该方法获取矩形右边缘的值。不应该争论:
    r3 =矩形(3,5,10,20)

    r3.right()

    13

    r4 =矩形(12,10,72,35) r4.right() 84

  5. 5.创建一个名为bottom的方法,该方法获取矩形底边的值  r5 =矩形(5,7,10,6)

    r5.bottom()

    13
     r5.y + = 12
     r5.bottom()

    25
    6.创建一个名为size的方法,该方法返回矩形的宽度和高度。

    r6 =矩形(1,2,3,4)

    r6.size()

    (3,4)

    7.创建一个名为position的方法,该方法返回矩形的x和y坐标。  r6.position()

    (1,2)

    8.创建一个名为area的方法,返回矩形区域。

    r6.area()

    12

    9.创建一个名为expand的方法,该方法采用偏移值并返回在所有方向上以偏移量展开的矩形的副本。

    r =矩形(30,40,100,110)

    ř
    矩形(30,40,100,110)

    r1 = r.expand(offset = 3)
    R1
    矩形(27,37,106,116)

    不应修改原始矩形。

    [R

    矩形(30,40,100,110)

    负值应返回缩小的矩形。

    r.expand(-5)

    矩形(35,45,90,100)

    class Rectangle:
    
      def __init__(self, X, Y, W, H):
    
         self.x = X
    
         self.y = Y
    
         self.w = W
    
         self.h = H
    
    def complete(self):
        return self.x,self.y,self.w,self.h
    
    def right(self):
        return self.x + self.w
    
    def __str__(self):
        return('Rectangle(' + str(self.x) + ',' + str(self.y) + ','
                            + str(self.w) + ',' + str(self.h)+')')
    def bottom(self):
        return self.y + self.h
    
    def __str__(self):
        return('Rectangle(' + str(self.y) + ',' + str(self.h) + ','
                            + str(self.y) + ',' + str(self.h) + ')')
    def size(self):
        return self.w,self.h
    
    def position(self):
        return self.x,self.y
    
    def area(self):
        return self.w * self.h
    
    def expand(self):
    
    
    print(Rectangle(5,10,50,100).complete())
    
    print(Rectangle(3, 5, 10, 20).right())
    
    print(Rectangle(12, 10, 72, 35).right())
    
    print(Rectangle(5,7,10,6).bottom())
    
    print(Rectangle(1,2,3,4).size())
    
    print(Rectangle(1,2,3,4).position())
    
    print(Rectangle(1,2,3,4).area())
    

    最后这就是我想出的。我迷失了如何开始#9的最后一部分。此外,如果有人看到我使用我当前代码的任何问题,将不胜感激。

0 个答案:

没有答案