Проблема в том, что DISC.__init__()
не вызывает метод __init__()
своего суперкласса:
from graphics import *
class DISC(Rectangle):
def __init__(self, p1, p2, color):
super().__init__(p1, p2)
self.color = color
def createdisc(self):
self.setFill(self.color)
self.draw(win)
win = GraphWin('Tower of Hanoi', 1000, 600)
disc1 = DISC(Point(0, 0), Point(28, 10), color_rgb(230, 255, 245))
disc1.createdisc()
win.getMouse()
win.close()
Вам не нужно хранить две точки в вашем объекте, поскольку выуже хранит их, потому что ваш объект - Rectangle
.