https://kpolyakov.spb.ru/school/ege/gen.php?action=viewTopic&topicId=5500 5500 https://kpolyakov.spb.ru/school/ege/gen.php?action=viewTopic&topicId=5501 5501 https://kpolyakov.spb.ru/school/ege/gen.php?action=viewTopic&topicId=5502 5502
http://judge.mipt.ru/mipt_cs_on_python3/labs/lab2.html РОБОТ
ml = move_left #Пройти n клеток влево (по умолчанию n = 1) mr = move_right #Пройти n клеток вправо (по умолчанию n = 1) mu = move_up #Пройти n клеток вверх (по умолчанию n = 1) md = move_down #Пройти n клеток вниз (по умолчанию n = 1) wu = wall_is_above #если сверху стена, возвращает True, иначе — False wd = wall_is_beneath #если снизу стена, возвращает True, иначе — False wl = wall_is_on_the_left #если слева стена, возвращает True, иначе — False wr = wall_is_on_the_right #если справа стена, возвращает True, иначе — False fill = fill_cell #Закрасить текущую клетку #cell_is_filled #Возвращает True, если текущая клетка закрашена #mov #Поместить значение v в регистр r
Пример решения первой задачи
#!/usr/bin/python3 from pyrob.api import * @task def task_1_1(): #pass mr(2) # Пройти 2 клетки вправо или: move_right(2) md(1) # Пройти 1 клетку вниз или: move_down(2) if __name__ == '__main__': run_tasks()
# ПЕРЕМЕЩЕНИЯ ЧЕРЕПАШКИ # forward(N) | fd(N) Пройти вперёд N пикселей # backward(N) | bk(N) Пройти назад N пикселей # right(G) | rt(G) Повернуться направо на G градусов # left(G) | lt(G) Повернуться налево на G градусов # # УПРАВЛЕНИЕ ПЕРОМ # penup() Поднять перо (не оставлять след при движении) # pendown() Опустить перо (оставлять след при движении) # pensize(N) Установить диаметр пера N пикселей # pencolor(string) Установить цвет пера ("red", "green",... или "#FF00FF",...) # # СВОЙСТВА (СОСТОЯНИЕ) ЧЕРЕПАШКИ # speed(x) Установить скорость черепашки # x должно быть от 1 (медленно) до 10 (быстро), или 0 (мгновенно); # shape(X) Изменить представление черепахи: # x: ("arrow", "turtle", "circle", "square", "triangle", "classic") # ПРОЧИЕ КОМАНДЫ # reset() Возврат черепашки в исходное состояние # сlear() Очистка экрана # write(s) Вывести текстовую строку s в точке нахождения черепашки from turtle import * shape("turtle") pencolor("green") #pencolor("#00FF00") pensize(3) lt(90) for _ in range(4): fd(100) rt(90)
from turtle import * # подключение всех методов (инструкций) библиотеки Turtle bgcolor("darkblue") # цвет фона shape("turtle") # форма черепашки pencolor("yellow") # цвет пера fillcolor("yellow") # цвет заливки pensize(2) # размер пера lt(90) # влево на 90 градусов fd(100) # вперёд на 100 bk(100) # назад на 100 speed(3) # скорость перемещения (1 - медленно, 10 - быстро, 0 - очень быстро ) for step in range(4): # 4 шагов цикла fd(100) # вперёд на 100 rt(90) # вправо 90 penup() # поднять перо rt(90) # вправо на 90 градусов fd(150) # вперёд на 100 lt(90) # влево на 90 градусов pendown() # опустить перо begin_fill() # готовность залить цветом фигуру, когда она будет нарисована for step in range(5): # повторить 5 fd(100) # вперёд на 100 rt(144) # вправо на 144 end_fill() # когда контур фигуры замкнут (цикл завершён) залить цветом фигуру done() # в конце программы
Пример 2
from turtle import * # подключение всех методов (инструкций) библиотеки Turtle shape("turtle") bgcolor("darkblue") # цвет фона pencolor("white") pensize(3) speed(1) penup() goto(-40, 40) pendown() goto(-40, 40) goto(40, 40) goto(40, -40) goto(-40, -40) goto(-40, 40) penup() goto(0, 0) done()
from turtle import * # подключение всех методов (инструкций) библиотеки Turtle shape("turtle") pensize(2) penup() lt(90) write("С НОВЫМ ГОДОМ!", font=('Arial', 20, 'normal')) bk(30) for pc in ["pink", "red", "orange", "darkblue", "green", "#FF00FF", "#000000"]: pencolor(pc) # переменная pc последовательно передает в функцию pencolor() значения элементов списка write(pc, font=('Arial', 20, 'normal')) # напечатать значение переменной pc bk(30) # сместиться назад на 20 пикселей done()
Круг
import time from turtle import * shape("turtle") pencolor("black") fillcolor("black") pensize(3) time.sleep(12) r1 = 25 ext1 = 180 circle(r1, ext1) r2 = -25 circle(r2, ext1) r3 = -50 circle(r3) rt(ext1) begin_fill() circle(r1, ext1) r2 = -25 circle(r2, ext1) r3 = -50 circle(r3, ext1) end_fill() done()
Написать программу, которая рисует фигуру, показанную на иллюстрации.
#!/usr/bin/python3 from pyrob.api import * def check(): if not cell_is_filled(): fill() @task(delay=0.01) def task_8_18(): st = 0 while True: if st == 0 and wd() and wu(): fill() mr() elif st == 0 and wd() and not wu(): st = 1 elif st == 0 and not wd(): break if st == 1 and not wu(): mu() elif st == 1 and wu(): st = 2 if st == 2 and not wd(): check() md() elif st == 2 and wd(): mr() st = 0 if __name__ == '__main__': run_tasks()