创建一个接受参数的矩形类

时间:2019-04-18 20:33:05

标签: python-3.x

我正在尝试创建一个接受长度和宽度作为参数的矩形类。我希望用户能够输入数字并让python计算矩形的周长。

我尝试使用Input()允许用户执行此操作,但是python不喜欢这样做。我也尝试使用raw_input,但收到“这是未定义”错误。

我希望有人能指出我正确的方向。

class circle:
  def __init__ (self):
    self.radius = 1
    self.width = 1
    self. length = 1

my_circle = circle ()
print(2 * 3.14 * my_circle.radius)
my_circle.radius = input('Input here:')
print(float(2 * 3.14 * my_circle.radius))
my_circle.radius = 48
print(2 * 3.14 * my_circle.radius)

我想输入长度和宽度并返回周长。我也将在该区域中执行此操作,但是一旦确定了边界代码,便应该能够复制它。

2 个答案:

答案 0 :(得分:0)

input()函数返回字符串对象。您必须将其转换为float或int。下面是Rectangle的实现。

class Rectangle:
    def __init__ (self):
        self.width = None
        self.length = None
    def perimeter(self):
        return 2*(self.length + self.width)

rectangle = Rectangle()
rectangle.length = float(input('enter length:'))
rectangle.width = float(input('enter width:'))
perimeter = rectangle.perimeter()
print(perimeter)

答案 1 :(得分:0)

首先,可以使用__init__构造函数传递lengthwidth参数,而不用像rectange.width = ...

那样分配属性

因此Rectangle类看起来像。您可以看到我在构造函数中传递了widthlength

class Rectangle:

    def __init__ (self, width, length):
        self.width = width
        self.length = length

    def perimeter(self):
        return 2*(self.length + self.width)

之后,您可以像这样调用您的类和函数。
在这里,我将宽度和长度转换为浮点数(圆形类中没有这样做),在创建类的对象时传递它们,然后计算参数

length = float(input('enter length:'))
width = float(input('enter width:'))
rectangle = Rectangle(length, width)
print( rectangle.perimeter())

运行示例如下

enter length:5
enter width:10
30.0

类似地,您的圈子课程如下所示

class circle:
    def __init__ (self, radius):
        self.radius = radius

    def area(self):
        return 2*3.14*self.radius

radius = float(input("Enter radius of circle"))
my_circle = circle (radius)
print(my_circle.area())
#Enter radius of curcle1
#6.28