所以当我运行这段代码时,它给出了一个错误,说它不能连接第7行的str和int。目标是为给定的代码计算RectangularPrism的体积,其明显的体积公式为*宽度*高度,以及通过找到每边的面积并将其乘以2的表面积。
class RectangularPrism(object):
def __init__(self, length, width, height):
self.length = length
self.width = width
self.height = height
def volume(self):
return "The volume is " + (self.length*self.width*self.height)
def surfaceArea(self):
return "The surface area is "+ (self.length * self.width * 2 + self.length * self.height * 2 + self.height * self.width * 2)
class cube(RectangularPrism):
def __init__(self, baka):
self.length = length
self.width = width
self.height = height
def volume(self):
return "The volume is "+ (self.length*self.width*self.height)
def surfaceArea(self):
return "The surface area is "+ (self.length * self.width * 2 + self.length * self.height * 2 + self.height * self.width * 2)
box1 = RectangularPrism(2, 3, 4)
print box1
print "Volume = " + str(box1.volume())
print "Suface Area = " + str(box1.surfaceArea())
print
box2 = Cube(2)
print box2
print "Volume = " + str(box2.volume())
print "Suface Area = " + str(box2.surfaceArea())
答案 0 :(得分:0)
您是否已尝试返回==
,它会将int转换为字符串
答案 1 :(得分:0)
如错误所示,您无法连接字符串和整数。将整数更改为字符串:
return "The volume is " + str(self.length*self.width*self.height)
您还可以使用字符串格式:
return "The volume is {}".format(self.length*self.width*self.height)
答案 2 :(得分:0)
由于我的声誉无法发表评论,因此您的代码存在问题(或者我认为是这样),您尝试添加两种不同的类型。一个字符串和一个整数。尝试将+
替换为,
。但是,不要相信我的问题是什么,我会等一个熟悉Python的人向你解释。如果您只想得到答案,那么我认为我的解决方案可行。