Войти
или
Зарегистрироваться
Маркетплейс
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Онлайн Компилятор
Компилятор Python (lite)
Редактор HTML Code
Статья Автор:
Волконовский, Александр
черепашка
Нарисовать треугольник ABC
import turtle as tr def bobik(scom, t, m): kot = scom.split() for k in kot: if k == 'U': t.up() elif k == 'D': t.down() elif k == 'L': t.left(90) elif k == 'R': t.right(90) elif k[0] == 'F': t.fd(int(k[1:]) * m) m = int(input()) n = int(input()) t1 = tr.Pen() t1.color('gray'); t1.speed(0) t1.up(); t1.goto((-n*m,-n*m)) s = f"F{2*n} L F1 L F{2*n} R F1 R " s0 = 'D ' + s*n + 'F1 R ' + s*n bobik(s0,t1,m) tt = tr.Pen() tt.color('red'); tt.width(m*0.1); tt.speed(0) s1 = "F4 L F3 R " s2 = "F-5 L F10 R " s3 = "F6 L F-6 R " s4 = "F-5 L F-8 R " for i in range(2): bobik(s1,tt,m) bobik(s2,tt,m) bobik(s3,tt,m) bobik(s4,tt,m) ''' clr = ['red','green','blue','brown','purple'] for i in range(12,0,-1): s2 = f"F{n} R " * 4 s3 = f"t.width({i}) t.fillcolor('{clr[n % 5]}') t.begin_fill()" bobik(f"L{12*i}" + s3 + s2 + 't.end_fill() ', tt, n) ''' ''' tt.speed(10) while True: a = input() if a == 'res': tt.reset() else: bobik(a,tt,m) ''' tr.done()
×
def myline(A0, B0, t, m): A = (A0[0] * m, A0[1] * m) B = (B0[0] * m, B0[1] * m) t.up(); t.goto(A) t.down(); t.goto(B) def romb(A, B, C, D, T, t, m): myline(A, B, T, m) myline(B, C, T, m) myline(C, D, T, m) myline(D, A, T, m) myline(A, C, t, m) myline(B, D, t, m) def writer(st, A, m, t, r): t.up() t.goto((A[0]+r[0]) * m, (A[1]+r[1]) * m) t.down() t.write(st, font=('Arial', m)) def tri(A, B, C, t, m): myline(A, B, t, m) myline(B, C, t, m) myline(C, A, t, m) writer('A', A, m, t, (-1, 0)) writer('B', B, m, t, (-1, 0)) writer('C', C, m, t, (0, 0)) def setka(A, B, t0, m): for x in range(A[0], B[0] + 1): myline((x, A[1]), (x, B[1]), t0, m) for y in range(A[1], B[1] + 1): myline((A[0], y), (B[0], y), t0, m) import turtle as tr t1 = tr.Pen() t1.speed(0) t1.pencolor('red') t1.width(3) t2 = tr.Pen() t2.pencolor('blue') t2.speed(0) t2.width(1) A1 = (0, 0) B1 = (1, 2) C1 = (3, 3) D1 = (2, 1) A2 = (2, 2) B2 = (5, 6) C2 = (7, 4) m1 = 20 t0 = tr.Pen() t0.color('gray') t0.speed(0) # romb(A1,B1,C1,D1,t1,t2,m1) setka((-10, -10), (10, 10), t0, m1) tri(A2, B2, C2, t1, m1) tr.done()
×
import turtle as tr t1 = tr.Pen() A,B,C,D,E = (0,0), (100,200), (200,100), (25,0), (0,-30) def my_lines(dots, t): for i in range(1,len(dots): a = dots[i-1] b = dots[i] my_lines(A,B,t1) tr.done()
×
import turtle as tr t1 = tr.Pen() A,B,C,D,E = (0,0), (100,200), (200,100), (25,0), (0,-30) def my_lines(dots, t): t.up() t.goto(dots[0]) t.down() for d in dots: t.goto(d) t.dot(5) my_lines([A,B,C,D,E],t1) tr.done()
×
import turtle as tr t1 = tr.Pen() A = (0,0) AB = (100,200) AD = (200,100) B = (A[0] + AB[0], A[1] + AB[1]) D = (A[0] + AD[0], A[1] + AD[1]) C = (B[0] + AD[0], D[1] + AB[1]) def my_lines(A,B,t): t.up(); t.goto(A);t.down();t.dot(5) t.goto(B);t.dot(5) my_lines(A,B,t1) my_lines(B,C,t1) my_lines(C,D,t1) my_lines(D,A,t1) tr.done()
×
import turtle as tr t1 = tr.Pen() a = (0, 80) b = (80, 160) d = (160, 80) c = (b[0]+d[0]-a[0], d[1]+b[1]-a[1]) t1.up() t1.goto(a) t1.down() t1.dot(10) t1.goto(b) t1.dot(10) t1.goto(c) t1.dot(10) t1.goto(d) t1.dot(10) t1.goto(a) def line(a1, b1, t, r, m): t.up() t.goto(a1) t.down() if r == 0: t.goto(b1) return else: k = ((a1[0]-b1[0])**2+(a1[1]-b1[1])**2)**0.5 n = int(k // m) if n % 2 == 0: n += 1 for i in range(1, n+1): c1 = (((a1[0])*(n-i)+b1[0]*i)/n, ((a1[1])*(n-i)+b1[1]*i)/n) if i % 2 == 1: t.down() t.goto(c1) t.up() line(a, c, t1, 1, 7) line(b, d, t1, 1, 7) tr.done()
×
Во 2-м блоке 23 оператор (это в подраграмме writer) нужен 3-й параметр
t.write(st, font=('Arial', m,'bold'))
от Лебедев Дмитрий Алексеевич 05.10.2025 20:48
3-й блок мог бы выглядеть так
def myline(A0, B0, t, m=1):
A = (A0[0] * m, A0[1] * m)
B = (B0[0] * m, B0[1] * m)
t.up();
t.goto(A)
t.down();
t.goto(B)
import turtle as tr
t1 = tr.Pen()
A,B,C,D,E = (0,0), (100,200), (200,100), (25,0), (0,-30)
def my_lines(dots, t):
for i in range(1,len(dots)):
a = dots[i-1]
b = dots[i]
myline(a,b,t)
my_lines([A,B,C,D,E,A],t1)
tr.done()
от Лебедев Дмитрий Алексеевич 05.10.2025 20:54
Чтобы оставить комментарий нужна авторизация
Печать