我如何链接这些字符串和整数

时间:2015-05-15 16:05:01

标签: class python-2.7

所以当我运行这段代码时,它给出了一个错误,说它不能连接第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())

3 个答案:

答案 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的人向你解释。如果您只想得到答案,那么我认为我的解决方案可行。