我需要用Python编写一个程序,读取值n并在屏幕上绘制一个n边形。我可以使用turtle图形模块或者graphics.py模块。
我知道当n等于您输入的点数时,如何绘制一个多边形,然后在屏幕上点击n次,但我不知道如何将一个边数转换为一个多边形。
这是我已经有的绘制n个点的多边形代码:
def newPolygon(self,cmd):
p = eval(input("how many points"))
print("click",p,"times")
num = []
for i in range(p):
vertices = self.win.getMouse()
num.append(vertices)
poly = Polygon(num)
poly.setFill(self.color)
poly.draw(self.win)
self.figs.append(poly)
这不是整个程序的代码(总共有384行)。这只是程序中绘制多边形函数的部分,其中self.figs是一个已绘制图形的列表。
int(input(...))
- "eval
是邪恶的" - jonrsharpe