Python 我需要创建一个带参数的三角形,但它不能正常工作

Python 我需要创建一个带参数的三角形,但它不能正常工作,python,turtle-graphics,Python,Turtle Graphics,我有一个程序,假设在x,y处创建一个三角形,具有设定的高度和宽度。这是我的代码,但它创建的三角形有时会弄乱,如果宽度真的很小。我如何用我想要的任何数字作为宽度和高度来制作一个完美的三角形 进口海龟 def triangleBuild(width,height): turtle.forward(width) turtle.left(120) turtle.forward(height) turtle.left(120) turtle.forward(heig

我有一个程序,假设在x,y处创建一个三角形,具有设定的高度和宽度。这是我的代码,但它创建的三角形有时会弄乱,如果宽度真的很小。我如何用我想要的任何数字作为宽度和高度来制作一个完美的三角形

进口海龟

def triangleBuild(width,height):
    turtle.forward(width)
    turtle.left(120)
    turtle.forward(height)
    turtle.left(120)
    turtle.forward(height)
def XY位置(x、y、宽度、高度):


在本例中,高度是从顶部顶点到底部的距离。你要做的是画一个三角形,有两条相同长度(高度)的边,你可能想用一些数学来计算正确的边长度(可能不等于高度)

编辑

如果您只想从宽度和高度绘制三角形,您可能需要获得三角形的角度,然后使用一些数学:

import turtle
import math

def triangleBuild(width,height):
    l = ( height**2 + (width/2.0)**2)**0.5
    alfa = math.atan2(height, width/2.0) # To compute alfa
    alfa = math.degrees(alfa)
    alfa = 180.0 - alfa 
    turtle.forward(width)
    turtle.left(alfa)
    turtle.forward(l)
    turtle.left(2*(180-alfa))
    turtle.forward(l)

turtle.penup()
turtle.goto(10,20)
turtle.pendown()

width = 200
height = 100
triangleBuild(width,height)


我一定是做错了什么,但这并没有达到我想要的。也不是这只海龟。前(宽)龟。左(120)龟。前(长)龟。左(120)龟。前(长)龟。前(长)龟。左(120)龟。前(高)龟。左(120)龟。前(高)龟工作
import turtle
import math

def triangleBuild(width,height):
    l = ( height**2 + (width/2.0)**2)**0.5
    alfa = math.atan2(height, width/2.0) # To compute alfa
    alfa = math.degrees(alfa)
    alfa = 180.0 - alfa 
    turtle.forward(width)
    turtle.left(alfa)
    turtle.forward(l)
    turtle.left(2*(180-alfa))
    turtle.forward(l)

turtle.penup()
turtle.goto(10,20)
turtle.pendown()

width = 200
height = 100
triangleBuild(width,height)