Вы можете сделать это, нарисовав четыре набора линий внутри одного цикла for
, как показано ниже.Код написан в терминах размера окна L
, поэтому при необходимости его можно легко изменить.
from graphics import *
def patchwork():
L = 500;
win = GraphWin('Lines test',L,L)
for s in range(0,L+1,20):
line1 = Line(Point(s,0), Point(L,L-s))
line1.setFill('red')
line1.draw(win)
line2 = Line(Point(L,s), Point(s,L))
line2.setFill('red')
line2.draw(win)
line3 = Line(Point(s,L), Point(0,L-s))
line3.setFill('red')
line3.draw(win)
line4 = Line(Point(0,s), Point(s,0))
line4.setFill('red')
line4.draw(win)
Обновлен код для создания кусочного шаблона:
from graphics import *
def patchwork():
L = 500;
W = 100;
f = L/W;
win = GraphWin('Lines test',L,L)
for xL in [0,200,400]:
xR = xL + W;
for s in range(0,W+1,20):
line1 = Line(Point(xL + s,0), Point(xL,f*s))
line1.setFill('red')
line1.draw(win)
line2 = Line(Point(xL + s,0), Point(xR,L - f*s))
line2.setFill('red')
line2.draw(win)
line3 = Line(Point(xL + s,L), Point(xL,L - f*s))
line3.setFill('red')
line3.draw(win)
line4 = Line(Point(xL + s,L), Point(xR,f*s))
line4.setFill('red')
line4.draw(win)