我正在尝试创建一个接受长度和宽度作为参数的矩形类。我希望用户能够输入数字并让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)
我想输入长度和宽度并返回周长。我也将在该区域中执行此操作,但是一旦确定了边界代码,便应该能够复制它。
答案 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__
构造函数传递length
和width
参数,而不用像rectange.width = ...
因此Rectangle类看起来像。您可以看到我在构造函数中传递了width
和length
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