2016-03-06 17 views
-2

我一直在試圖製作一個三角形並使用海龜繪製出來。我希望人們能夠導入這些值,我的程序會說出它是否是三角形。如果它是三角形,那麼我的程序會寫出來。如果沒有,它會給出錯誤。當我測試我的代碼時,它說angular1沒有定義。在第56行中,我嘗試將角度1和所有其他參數更改爲數字並且它工作正常,但我希望用戶輸入數字,而不是將它們輸入到程序中。不要擔心數學。我擁有所有我將添加的代碼。我只需要幫助讓第56行工作。如何讓我的代碼寫入一個python三角形?

from turtle import * 
canvas = Screen() 
canvas.setup(400,200) 

class Triangle(object): 
    """Triangle""" 
    sides = 3 
    def __init__(self, angle1, angle2, angle3, length1, length2, length3): 
     self.angle1 = angle1 
     self.angle2 = angle2 
     self.angle3 = angle3 
     self.length1 = length1 
     self.length2 = length2 
     self.length3 = length3 

    print "Enter the following inputs" 
    angle1 = raw_input("Please enter Angle 1: ") 
    print angle1 
    angle2 = raw_input("Please enter Angle 2: ") 
    print angle2 
    angle3 = raw_input("Please enter Angle 3: ") 
    print angle3 
    length1 = raw_input("Please enter Length 1: ") 
    print length1 
    length2 = raw_input("Please enter Length 2: ") 
    print length2 
    length3 = raw_input("Please enter Length 3: ") 
    print length3 

    def description(self): 
     print angle1 
     print angle2 
     print angle3 
     print length1 
     print length2 
     print length3 
     self.degrees() 

    def check_Angles(self): 
     "Lets Make sure the angles add up to 180" 
     if self.angle1 + self.angle2 + self.angle3 == 180: 
      print "That is a good Triangle" 
      return True 
     else: 
      print "That is not a good Triangle" 
      return False 

    def draw(self): 
     if self.check_Angles(): 
      pen = Turtle() 
      pen.forward(self.length1) 
      pen.left(self.angle1) 
      pen.forward(self.length2) 
      pen.left(self.angle2) 
      pen.forward(self.length3) 

triangle2 = Triangle(angle1, angle2, angle3, length1, length2, length3) 

triangle2.draw() 

canvas.exitonclick() 

回答

0

您的代碼的以下重新安排將使它運行,但不一定工作。即它不繪製正確的三角形 - 但這是你可以柚木在現在運行的代碼:

from turtle import * 

canvas = Screen() 
canvas.setup(400, 200) 

class Triangle(object): 
    """Triangle Class""" 

    def __init__(self, angle1, angle2, angle3, length1, length2, length3): 
     self.angle1 = angle1 
     self.angle2 = angle2 
     self.angle3 = angle3 
     self.length1 = length1 
     self.length2 = length2 
     self.length3 = length3 

    def description(self): 
     print angle1 
     print angle2 
     print angle3 
     print length1 
     print length2 
     print length3 

    def check_Angles(self): 
     """Lets Make sure the angles add up to 180""" 

     if self.angle1 + self.angle2 + self.angle3 == 180: 
      print "That is a good Triangle" 
      return True 
     else: 
      print "That is not a good Triangle" 
      return False 

    def draw(self): 
     if self.check_Angles(): 
      pen = Turtle() 
      pen.forward(self.length1) 
      pen.left(self.angle1) 
      pen.forward(self.length2) 
      pen.left(self.angle2) 
      pen.forward(self.length3) 

print "Enter the following values:" 

angle1 = int(raw_input("Please enter Angle 1: ")) 
angle2 = int(raw_input("Please enter Angle 2: ")) 
angle3 = int(raw_input("Please enter Angle 3: ")) 

length1 = int(raw_input("Please enter Length 1: ")) 
length2 = int(raw_input("Please enter Length 2: ")) 
length3 = int(raw_input("Please enter Length 3: ")) 

triangle = Triangle(angle1, angle2, angle3, length1, length2, length3) 

triangle.draw() 

canvas.exitonclick() 
+0

啊。謝謝你太多了。我需要的只是輸入。現在,我可以將數學計算放入三角形中。謝謝。 –