Можно к списку добавить чтото из игрового мира - pygame например…
Из того что я знаю самый простой способ использовать matplotlib
можно слегка переделать пример
http://matplotlib.sourceforge.net/users/event_handling.html:from matplotlib import pyplot as plt
class LineBuilder:
def __init__(self, line):
self.line = line
self.xs = list(line.get_xdata())
self.ys = list(line.get_ydata())
self.cid = line.figure.canvas.mpl_connect('button_press_event', self)
def __call__(self, event):
print 'click', event
if event.inaxes!=self.line.axes: return
self.xs.append(event.xdata)
self.ys.append(event.ydata)
self.line.set_data(self.xs, self.ys)
self.line.figure.canvas.draw()
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_title('click to build line segments')
line, = ax.plot([0], [0],"o") # empty line
linebuilder = LineBuilder(line)
plt.show()
По поводу - окружности. Надо более четко поставить задачу. Например:
найти такие r_0,R что функция f(r_i)=\sum_{i=1}^n g(r_i)->min
def g(r,r0,R):
x,y=r-r0
return x**2+y**2-R**2
получается задача нелинейной оптимизации см. numpy,scipy. Там есть готовые модули для решения таких задачек. Почти наверняка потребуется неплохое начальное приближение.