Python Tkinter-创建中间有空格的5x5圆矩阵

Python Tkinter-创建中间有空格的5x5圆矩阵,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我正在尝试创建一个5x5的圆矩阵(在一个250x250的窗口上)。我希望这些圆的直径为40,它们之间的间距为10。我的代码现在创建直径为50的圆,中间没有空格。我似乎不知道如何将它们隔开。方法create\u oval接受x0,y0,x1,y1作为参数。因此,如果希望圆的直径为40,则x0和x1与y0和y1之间的差值应为40。您可以通过以下方式实现这一点: for row in range(0,5): for col in range(0,5): c.create_oval(50*c

我正在尝试创建一个5x5的圆矩阵(在一个250x250的窗口上)。我希望这些圆的直径为40,它们之间的间距为10。我的代码现在创建直径为50的圆,中间没有空格。我似乎不知道如何将它们隔开。

方法
create\u oval接受
x0,y0,x1,y1
作为参数。因此,如果希望圆的直径为40,则
x0
x1
y0
y1
之间的差值应为40。您可以通过以下方式实现这一点:

for row in range(0,5):
  for col in range(0,5):
    c.create_oval(50*col, 50*row, 50*(col+1), 50*(row+1))
这只是从
x1
y1
中减去10,这会缩短直径,同时也会创建所需的空间。这也相当于:

c.create_oval(50*col, 50*row, (50*(col+1)) - 10, (50*(row+1))) - 10)

对于行和列,如果从第二个圆开始,它从10+上一个圆结束,那么它将被隔开

 c.create_oval(50*col, 50*row, (50*col) + 40, 50*(row) + 40)

确保在回答中添加一些解释,以便将来的访问者更容易理解。
b = 0
for row in range(0,5):
    a = 0;
    for col in range(0,5):
        canvas.create_oval(40*col+a, 40*row+b, 40*(col+1)+a, 40*
       (row+1)+b)
        a = a + 10
    b = b + 10