我必须用Python类画一个星形;这是一个家庭作业问题。
from tkinter import*
class star:
def _init_(self, w, h):
root=Tk()
root.title("Mercy Cybersecurity HWb")
self.canvas=Canvas(root, bg="#1199ff", width=w, height=h)
self.canvas.pack()
self.draw(w,h)
def draw(self,w,h):
for i in range(0,2):
self.canvas.create_rectangle(20+i*10, 30+i*10, w-20-i*20, h-30-i*20)
#root.mainloop()
star(700,400)
我有几个问题
第一个错误是Object()不接受线星(700400)的参数。
第二个错误是,当我试图绘制多边形时,它不起作用。
创建多边形(10,40,40,40,50,10,60,40,90,40,65,60,75,90,50,70,25,90,35,60,fill=“#ff0000”,)
我要把这条星型线放在哪里?
另一个问题是如何在矩形中间显示星形?
最佳答案
我修改了你的代码,所以你得到了一些输出(我只做了一个三角形,你自己把它改成一个星星)。
from Tkinter import*
class star:
def __init__(self, w, h):
self.root=Tk()
self.root.title("Mercy Cybersecurity HWb")
self.canvas=Canvas(self.root, bg="#1199ff", width=w, height=h)
self.canvas.pack()
self.draw(w,h)
def draw(self,w,h):
for i in range(0,2):
self.canvas.create_rectangle(20+i*10, 30+i*10, w-20-i*20, h-30-i*20)
self.canvas.create_polygon(100, 100, 300, 300, 400, 200)
self.root.mainloop()
star(700,400)
你的错误是:
__init__
拼写错误。你忘了把它放在全班同学面前。
你忘了画星星的形状,在这个例子中,我画了三角形。使用
self.
。关于python - 使用类绘制星形?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42034728/