我不明白为什么五角大楼画得不对,而且不像其他形状那样向右移动

2024-09-30 18:16:48 发布

您现在位置:Python中文网/ 问答频道 /正文

底部的每个按钮都应该用右边的参数绘制给定的形状。三角形和正方形画得很好,但当试图画五边形时,它在顶端不接触,也不会移到右边

exampleImage

这是我的密码:

def drawTriangle(self):
    color = self.favorite.get()
    thickness = int(self.widthEntry.get())
    length = int(self.lengthEntry.get())
    self.canvas.create_line(self.x, self.y, self.x - (length/2), self.y + length, fill = color, width = thickness)
    self.x -= length/2
    self.y += length
    self.canvas.create_line(self.x, self.y, self.x + length, self.y, fill = color, width = thickness)
    self.x += length
    self.canvas.create_line(self.x, self.y, self.x - (length/2), self.y - length, fill = color, width = thickness)
    self.x -= length/2
    self.y -= length

    self.x += 70

def drawSquare(self):
    color = self.favorite.get()
    thickness = int(self.widthEntry.get())
    length = int(self.lengthEntry.get())
    self.canvas.create_line(self.x, self.y, self.x + length, self.y, fill = color, width = thickness)
    self.x += length
    self.canvas.create_line(self.x, self.y, self.x, self.y + length, fill = color, width = thickness)
    self.y += length
    self.canvas.create_line(self.x, self.y, self.x - length, self.y, fill = color, width = thickness)
    self.x -= length
    self.canvas.create_line(self.x, self.y, self.x, self.y - length, fill = color, width = thickness)
    self.y -= length

    self.x += 70

def drawPentagon(self):
    color = self.favorite.get()
    thickness = int(self.widthEntry.get())
    length = int(self.lengthEntry.get())
    self.canvas.create_line(self.x, self.y, self.x - (length/2), self.y + (length/3), fill = color, width = thickness)
    self.x -= length/2
    self.y += length/3
    self.canvas.create_line(self.x, self.y, self.x + (length/5), self.y + (length*2/3), fill = color, width = thickness)
    self.x += length/5
    self.y += length*2/3
    self.canvas.create_line(self.x, self.y, self.x + (length*4/5), self.y, fill = color, width = thickness)
    self.x += length*4/5
    self.canvas.create_line(self.x, self.y, self.x + (length/5), self.y - (length*2/3), fill = color, width = thickness)
    self.x += length/5
    self.y -= length*2/3
    self.canvas.create_line(self.x, self.y, self.x - (length/2), self.y - (length/3), fill = color, width = thickness)
    self.x -= length/2
    self.y -= length/3

    self.x += 70

编辑:哇,我真傻。是一道简单的数学题。谢谢你的帮助!我会确保我调试更多之前张贴在这里


Tags: selfgetdefcreatelinewidthfilllength