Таблица Scratch-Python
Переход с блоков на текст
Перед таблицей полезно пройти главу «Блоки» и поработать в мини-проектах Scratch. Синтаксис Python — в программе на Python. Рисование «как в Scratch, но текстом» — Turtle и глава Turtle. Промежуточный шаг с блоками и текстом одновременно — Edublocks.
Обязательный каркас Python
Любой перенос из Scratch начинается с того, что в Python нет жёлтого блока-события — код выполняется сверху вниз. Базовый шаблон:
# main.py — точка входа (аналог «когда щёлкнут по ⚑»)
def main():
# здесь логика, которая в Scratch висела на флаге
pass
if __name__ == "__main__":
main()
Для рисования на экране чаще подключают модуль turtle (см. примеры Turtle):
import turtle
t = turtle.Turtle()
# ... команды движения ...
turtle.done() # окно не закроется сразу
Стартовые пары «Scratch → Python»
Квадрат пером
когда щёлкнут по ⚑
опустить перо
повторить (4)
идти (100) шагов
повернуть ↻ на (90) градусов
конец
import turtle
t = turtle.Turtle()
t.pendown()
for _ in range(4):
t.forward(100)
t.left(90)
turtle.done()
Счётчик и условие
когда щёлкнут по ⚑
установить [счёт v] в (0)
когда щёлкнут по этому спрайту
изменить [счёт v] на (1)
сказать [Мяу!] (1) сек
если <(счёт) = (5)> то
сказать [Устал…] (2) сек
остановить [все v]
конец
score = 0
def on_click():
global score
score += 1
print("Мяу!")
if score == 5:
print("Устал…")
return True
return False
while True:
input("Enter — клик по спрайту… ")
if on_click():
break
Спросить имя и поздороваться
когда щёлкнут по ⚑
спросить [Как тебя зовут?] и ждать
сказать (объединить [Привет, ] (ответ))
name = input("Как тебя зовут? ")
print(f"Привет, {name}")
Случайное число
установить [загадка v] в (случайное число от (1) до (10))
import random
secret = random.randint(1, 10)
Сводная таблица по категориям
События
| Блок Scratch | Python | Комментарий |
|---|---|---|
когда щёлкнут по ⚑ | if __name__ == "__main__": | Старт программы |
когда щёлкнут по этому спрайту | обработчик в Tkinter / Pygame | В консоли — input() |
когда нажата клавиша [→] | while + опрос клавиш | В Scratch реакция автоматическая |
передать сообщение [старт] | флаг, очередь, callback | Связь между частями программы |
когда я получу сообщение [старт] | if started: / подписка на событие | Имя сообщения должно совпадать |
Управление
| Блок Scratch | Python | Комментарий |
|---|---|---|
повторить (N) | for _ in range(N): | Известное число шагов |
всегда | while True: | Добавьте time.sleep(0.02) |
повторять пока <…> | while условие: | Проверка перед телом цикла |
если <> то … конец | if …: + отступ | Отступ = «карман» блока |
иначе | else: | Вторая ветка |
ждать (0.5) сек | time.sleep(0.5) | Пауза в секундах |
остановить [все] | break / return / sys.exit() | Зависит от задачи |
Движение и перо
| Блок Scratch | Python (turtle) | Комментарий |
|---|---|---|
идти (10) шагов | t.forward(10) | Шаг вперёд |
повернуть ↻ на (90) | t.left(90) | Угол в градусах |
идти в x: (0) y: (0) | t.goto(0, 0) | Координаты сцены Scratch |
опустить перо | t.pendown() | Рисовать линию |
поднять перо | t.penup() | Движение без следа |
стереть всё | t.clear() | След; clearscreen() — всё окно |
Переменные и операторы
| Блок Scratch | Python | Комментарий |
|---|---|---|
установить [x v] в (0) | x = 0 | Присваивание |
изменить [x v] на (1) | x += 1 | То же для -=, *= |
сказать [текст] | print("текст") | Вывод в консоль |
спросить [вопрос] и ждать | input("вопрос") | Строка от пользователя |
(a) + (b) | a + b | Арифметика |
(a) и (b) | a and b | Логическое «и» |
случайное число от (1) до (10) | random.randint(1, 10) | Оба конца включены |
добавить [x] к [список v] | items.append("x") | Список Python |
Полные примеры
1. Радужный многоугольник
Scratch (фрагмент из мини-проектов):
когда щёлкнут по ⚑
опустить перо
повторить (36)
изменить цвет ▶ на (10)
идти (20) шагов
повернуть ↻ на (10) градусов
конец
Python:
import turtle
t = turtle.Turtle()
t.speed(0)
t.pendown()
palette = ["red", "orange", "gold", "green", "blue", "violet"]
for i in range(36):
t.pencolor(palette[i % len(palette)])
t.forward(20)
t.left(10)
turtle.done()
2. Движение стрелками (упрощённо)
В Scratch цикл всегда проверяет клавиши каждый кадр. В Python без GUI — упрощённый вариант через Turtle и опрос (для игр удобнее Pygame):
import turtle
t = turtle.Turtle()
screen = turtle.Screen()
step = 8
def left():
t.setx(t.xcor() - step)
def right():
t.setx(t.xcor() + step)
screen.onkey(left, "Left")
screen.onkey(right, "Right")
screen.listen()
turtle.done()
Scratch-эквивалент:
когда щёлкнут по ⚑
всегда
если <клавиша [→ v] нажата?> то
изменить x на (5)
конец
если <клавиша [← v] нажата?> то
изменить x на (-5)
конец
ждать (0.02) сек
конец
3. Сбор монет
когда щёлкнут по ⚑
установить [счёт v] в (0)
когда я коснусь [Монета v]
изменить [счёт v] на (1)
спрятать
score = 0
player = {"x": 0, "y": 0}
coins = [{"x": 80, "y": 40, "visible": True}]
def try_collect():
global score
for coin in coins:
if not coin["visible"]:
continue
if abs(player["x"] - coin["x"]) < 25 and abs(player["y"] - coin["y"]) < 25:
score += 1
coin["visible"] = False
print("Счёт:", score)
Типичные ошибки при переносе
| В Scratch | Что ломается в Python | Как исправить |
|---|---|---|
Блок «вне» если, хотя должен быть внутри | Действие выполняется всегда | Проверьте отступы (4 пробела) |
= вместо == в условии | Python присвоит значение | Сравнение — только == |
Цикл всегда без ждать | 100% загрузка CPU | time.sleep(0.02) в теле while True |
Имя переменной счёт с кириллицей | Работает, но в учебниках — латиница | score, lives, speed |
| Ожидание «клика по спрайту» в консоли | input() — не координаты | Tkinter, Pygame или упрощённый input() |
Переход Scratch → Python — это замена обёртки при том же скелете: цикл остаётся циклом, условие — условием, переменная — переменной. Меняются скобки, отступы и способ запуска. Подробный разбор на примере «кота» — в главе «Блоки», § «От графики к тексту».
Куда дальше
| Цель | Материал |
|---|---|
| Ещё блоки Scratch | 112 — примеры скриптов, 1121 — мини-проекты |
| Справочник редактора | Scratch §1–§17 |
| Первый полноценный Python | Программа на Python |
| Рисование | Turtle — Lab, Turtle — энциклопедия |
| Блоки + текст Python | Edublocks |
| Задачи ЕГЭ / олимпиады | 1122 — алгоритмы на Python |
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Практическая карта типовых IT-задач: термины, пошаговое внедрение, проверка качества и типичные ошибки. Простой консольный чат на C# — учебное приложение с сокетами: TCP между клиентом и сервером, многопоточность и обмен сообщениями в консоли. Примеры вёрстки на HTML и CSS с разбором: центрирование, Flexbox, Grid, формы, шапка, подвал и адаптив для учебы и портфолио. Перед началом работы обязательно изучите главу Turtle . Галерея 3D-фигур на Panda3D — карточки, куб, пирамида, сфера, сетки и составные сцены; код для локального запуска. Готовые docker-compose.yml с разбором каждой строки — nginx, PostgreSQL, Redis, WordPress, MongoDB. Примеры для школьников и студентов: postgres example, поднять базу локально, app + db. Примеры nginx.conf для статики, reverse proxy, React/Vue SPA, PHP, SSL и балансировки — построчный разбор директив, проверка curl и типичные ошибки для лабораторных и VPS. dockerfile example — 10 готовых Dockerfile с построчным разбором: node, python, golang, react nginx, spring boot, php, dotnet. Для студентов, лабораторных и docker build с нуля. PromQL example — готовые запросы Prometheus и Grafana с построчным разбором: up, rate, node_exporter cpu, memory, disk, http_requests_total, histogram_quantile p99, алерты. Для студентов, лабораторных и devops docker compose. Готовые манифесты Kubernetes с разбором каждой строки — Pod, Deployment, Service, ConfigMap, Secret, Ingress. Примеры для Minikube, kind и kubectl apply. Примеры графиков Matplotlib на Python для школьников и студентов — sin, cos, парабола, столбцы, scatter, гистограмма, подграфики; код с подробным разбором. Примеры pandas на Python для школьников и студентов — DataFrame, фильтрация, groupby, очистка, merge, сводные таблицы и экспорт; код с подробным разбором каждой строки.Готовые решения
Простой консольный чат на CSharp
HTML + CSS — готовые макеты
Примеры фигур Turtle на Python
Примеры фигур Panda3D на Python
Docker Compose — готовые стеки
Nginx — конфиги под задачу
Dockerfile — 10 типовых образов
Prometheus + Grafana — запросы
Kubernetes YAML — минимальные манифесты
Matplotlib — графики
Pandas — типовые операции