Войти
или
Зарегистрироваться
Маркетплейс
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Онлайн Компилятор
Компилятор Python (lite)
Редактор HTML Code
Статья Автор:
Сибилев Артём
Punktir, setka
import turtle as tr def punktir(to1,to2,sl,dlina): A,B = sl[to1],sl[to2] a,b,c,d=A[0],A[1],B[0],B[1] t1.up() t1.speed(100) t1.goto(a,b) vekt = ((a-c)**2+(b-d)**2)**0.5 cos = abs(a-c)/vekt sin = abs(b-d)/vekt xnow,ynow,s=a,b,1 for i in range(int(vekt//dlina)): if s % 2 == 0: t1.down() t1.goto(xnow+cos*dlina,ynow+sin*dlina) t1.up() xnow += cos*dlina ynow += sin*dlina s += 1 def setka(to1,to2,sl,m,dlina): A, B = sl[to1], sl[to2] a, b, c, d = A[0], A[1], B[0], B[1] kolvostrok = abs(d-b)//m+1 kolvostolb = abs(a-c)//m + 1 t1.goto(a,b) for i in range(kolvostrok): slovar = {'A':(a,b+i*m),'B':(c,b+i*m)} punktir('A','B',slovar,dlina) for i in range(kolvostrok): slovar = {'A': (a+i*m, b), 'B': (a+i*m, d)} punktir('A', 'B', slovar, dlina) t1 = tr.Pen() # создаем полотно t1.up() # подняли перо и задали цвет t1.speed(0) t1.color('grey') slovar = {'A':(-100,-100),'B':(300,300)} setka('A','B',slovar,50,10) m = 50 slovar2 = {'A':(0*m,0*m),'B':(2*m,3*m),'C':(3*m,0*m),'D':(2*m,2*m),'E':(-1*m,9*m)} def liniya(to1,to2,slovar): A, B = slovar[to1], slovar[to2] a, b, c, d = A[0], A[1], B[0], B[1] t1.goto(a,b) t1.down() t1.goto(c,d) t1.up() t1.color('red') t1.width(3) liniya('A','B',slovar2) t1.write('B',font=("Courier", 16, "bold")) liniya('A','C',slovar2) t1.write('C',font=("Courier", 16, "bold")) liniya('A','D',slovar2) t1.write('D',font=("Courier", 16, "bold")) liniya('A','E',slovar2) tr.done()
×
import turtle as tr def paint(stroka,t,mas): for u in stroka.split(): if u == 'U': t.up() if u == 'R': t.right(90) if u == 'L': t.left(90) if u =='D':t.down() if u[0]=='F':t.forward(int(u[1:])*mas) def setka(t,m,razmer): t.down() for i in range(razmer//(2*m)): t.forward(razmer) t.left(90) t.forward(m) t.left(90) t.forward(razmer) t.right(90) t.forward(m) t.right(90) t = tr.Pen() t.color('red'); t.width(5) s1 = 'F8 R F18 R ' s2 = 'U F-4 R F9 L D ' s3 = 'F17 R F7 R ' rk = 30 paint('U L F10 D R',t,rk) paint(s1*2,t,rk) paint(s2,t,rk) paint(s3*2,t,rk) t.up(); t.width(1); t.speed(1000) t.goto(-300, -300) nn=80 setka(t,rk,rk*nn) t.right(90) setka(t,rk,rk*nn) tr.done()
×
Чтобы оставить комментарий нужна авторизация
Печать