繁体   English   中英

谁能帮助我理解此Triangle Class中的部分代码?

Can anyone help me understand a part of the code in this Triangle Class?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

编码新手并有疑问。 这段代码中有一部分我不理解,想知道是否有人可以澄清。 该代码可以正常工作,但我不理解这一段。 这部分代码在做什么?

filledTrue = (filled == 1)

我猜想如果fill等于1,它将把fillTrue传递给超类,但是我还没有看到这样使用的代码,所以不确定。 括号是否像If语句一样工作而没有Else组件?

非常感谢!

这是完整的代码:

class GeometricObject:
    def __init__(self, color =  "green" , filled = True):
        self.__color = color
        self.__filled = filled

    def getColor(self):
        return self.__color

    def setColor(self, color):
        self.__color = color

    def isFilled(self):
        return self.__filled

    def setFilled(self, filled):
        self.__filled = filled

    def __str__(self):
        return  "color: "  + self.__color + \
             " and filled: "  + str(self.__filled)


class Triangle(GeometricObject):
    def __init__(self, side1 = 1.0 , side2 = 1.0, side3 = 1.0):
        super().__init__()
        self.__side1 = side1
        self.__side2 = side2
        self.__side3 = side3

    def getSide1(self):
        return self.__side1

    def setSide1(self, side1):
        self.__side1 = side1

    def getSide2(self):
        return self.__side2

    def setSide2(self, side2):
        self.__side2 = side2

    def getSide3(self):
        return self.__side3

    def setSide3(self, side3):
        self.__side3 = side3

    def setArea(self):
        self.area = area

    def getArea(self):
        s = (self.__side1 + self.__side2 + self.__side3) / 2
        area = (s * (s - self.__side1) * (s - self.__side2) * (s - self.__side3)) ** 0.5
        return area

    def getPerimeter(self):
        perimeter = self.__side1 + self.__side2 + self.__side3
        return  perimeter

    def triangleString(self):
        return "Triangle: Side 1: " + self.__side1 + "Side 2: " + self.__side2 + "Side 3: " + self.__side3

def main():
    side1 = eval(input("Enter a number for side 1: "))
    side2 = eval(input("Enter a number for side 2: "))
    side3 = eval(input("Enter a number for side 3: "))
    color = input("Enter a color for the triangle: ")
    filled = eval(input("To fill the triangle, enter 1, otherwise enter 0: "))
    filledTrue = (filled == 1)
    #set the variables in the classes
    triangleSolution = Triangle(side1, side2, side3)  # this sets the triangle sides in Triangle Class
    triangleSolution.setColor(color)  # this sets the color in the superclass (through subclass)
    triangleSolution.setFilled(filledTrue) # this sets the fill
    #get the variables in the classes with printout
    print("The triangle’s area is: ", triangleSolution.getArea(), '\n',
          "The perimeter is: ", triangleSolution.getPerimeter(), '\n',
          "The color is: ", triangleSolution.getColor(), '\n',
          "The color is filled: ", triangleSolution.isFilled())

main()
1 个回复

分配给比较器x == y或其他变量(大于,小于等)的变量将采用布尔值( TrueFalse ):

x = 1==1 # True
y = 'a'=='b' # False
z = 2 <= 5 # True
1 谁能帮助我理解这段代码?

谁能帮我理解这段代码? 此代码用于解决此问题。 您正在用手机玩游戏。 您会得到一个长度为n的数组,索引从0到n-1。 数组的每个元素都是0或1。您只能移动到包含0的索引。首先,您位于第0个位置。 在每一步中,您都可以执行以下操作之一: 向前或向后走一步。 向前精确跳一段长度m。 ...

2 我正在尝试这个多线程代码来理解。 谁能帮助我理解“打印消息”部分。 我在此发布代码

我正在尝试这个多线程代码来理解。 谁能帮助我理解“打印消息”部分。 我在此发布代码 我知道我们正在尝试从缓冲区中打印数据,但是所有这些移位运算符和'&0xff'部分都如何提供帮助? : 我们不能只是简单地使用如下的printf语句: 从缓冲区读取? ...

5 谁能帮助我优化代码?

我写了下面的代码来达到预期的效果。直到200次输入都可以正常工作。我认为优化此代码可以解决我的问题。 谁能帮我优化以下代码。 样本输入 样品输出 “ bcdef”在输入中出现两次,即在第一个和最后一个位置,其他单词每个出现一次。 出现的顺序是“ bcdef”,“ ab ...

2015-10-22 10:34:05 1 36   python
8 请帮助我理解代码

我无法理解以下代码片段: 复制方法的声明: 我知道通过List&lt;Object&gt; objList = new ArrayList&lt;Object&gt;(); 和objList.add(new Object()); lines对象正在替换T和? 并且由于复制方 ...

2013-06-05 04:09:22 1 122   java
9 谁能帮助我修改Java代码?

好的,这很清楚,这是我需要对整个程序进行的操作。 在向用户展示菜单之前,我需要main还原文件“ calc.bak”中的所有计算器,并且main应该在退出前保存该文件中存在的所有计算器(适当覆盖)。 我还需要为用户提供一个选项,以创建一个全新的计算器,为其命名并从一个已经存在的集合(即我的“ ...

2011-04-21 05:59:52 2 257   java
10 谁能帮助我找到MoViNets代码

在论文“ MoViNets:高效视频识别的移动视频网络”中,作者说“代码将在https://github.com/tensorflow/models/tree/master/official/vision上提供” 。 我对tensorflow并不熟悉,因此不确定代码是否尚未公开或尚未找到它。 有人可 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM