Первые скрипты на Python: простые примеры

Перед тем как запускать скрипты, на компьютере должен быть установлен Python.
Если вы ещё не ставили его — в прошлой статье мы разобрали, как установить Python на Windows.
А далее — 5 маленьких примеров скриптов, которые можно повторить у себя: нейросеть помогает написать код, а мы просто запускаем и получаем результат.
Где хранить скрипты (чтобы не потерять и не сломать)
Перед примерами (да и в принципе на будущее) удобно сделать одну папку для всех своих скриптов.
Например:
Документы → Мои скрипты
Туда можно складывать все маленькие программы, которые Вы пробуете.
Почему иногда полезно делать копию
Когда Вы что-то меняете в коде, легко случайно “испортить” рабочий вариант.
Поэтому простой способ не терять результат такой:
- перед правками скопируйте файл скрипта и переименуйте, например:
main_v1.py,main_v2.py - если скрипт работает с файлами (переименовывает, конвертирует, удаляет), лучше сначала сделать копию папки с файлами и тестировать на копии
Это не обязательно каждый раз, но для спокойствия очень помогает.
Как создать и запустить скрипт (способ через IDLE)
1) Откройте IDLE
Нажмите Пуск → введите IDLE → откройте “IDLE (Python 3.xx …)”.
Откроется окно с символами >>>. Это просто окно, где Python показывает результат и ошибки.
2) Создайте новый файл
Вверху нажмите:
File → New File
Откроется новое пустое окно — сюда вставляется код.
3) Вставьте код и сохраните
Вставьте текст скрипта (который дал ИИ). Если вставляете код через горячие клавиши (ctrl+c), то тут в принципе надо запомнить такое правило — в данном редакторе горячие клавиши работают только на английской раскладке клавиатуры.
Нажмите:
File → Save As…
Выберите папку Мои скрипты (или любую удобную).
Имя файла: main.py (или любое другое, на самом деле имя файла может быть и на русском языке, тут все делаете, как Вам удобно)
Нажмите Save.
4) Запустите
В окне с кодом нажмите:
Run → Run Module
или клавишу F5.
Если скрипт выводит текст — он появится в окне >>>.
Если будет ошибка — она тоже появится там же.
Если появилась ошибка: скопируйте её текст и отправьте нейросети.
Можно прямо так и написать: “Вот ошибка. Объясни простыми словами и исправь код.”
Переходим к примерам
Ниже — 5 примеров. У каждого будет одинаковая структура:
- что делает скрипт (в двух словах)
- промпт для нейросети (что написать, чтобы получить код)
- готовый код (то, что получилось в итоге)
- как запустить (как в предыдущем разделе) и что делать, если ошибка
Если какой-то пример не нужен — его можно пропустить. Логика всё равно будет понятна.
Схема одна: берёте код из примера, сохраняете в файл .py и запускаете.
Пример 1 — Первая программа
Что получится: маленькая программа с окном. На тёмном фоне текст появится по буквам, как будто его печатают, а рядом будет мигать курсор. В конце появится надпись “Готово”.
Промт для данной программы:
Напиши простой скрипт на Python (только стандартная библиотека), который открывает окно tkinter на тёмном фоне.
В центре “печатается” фраза по буквам (эффект печатания) + мигает курсор ▌.
Когда текст допечатан — курсор исчезает, внизу появляется “Готово. Можно закрыть окно.”
Текст и скорость сделай переменными MESSAGE и SPEED_MS. Дай полный код одним файлом main.py.
Код, который получился у меня:
import tkinter as tk
BG = "#070914"
FG = "#D9E6FF"
ACCENT = "#16F2B3"
MESSAGE = "Готово. Это моя первая программа ✨"
SPEED_MS = 45 # скорость печати (меньше = быстрее)
root = tk.Tk()
root.title("Первый запуск")
root.configure(bg=BG)
root.geometry("900x220")
frame = tk.Frame(root, bg=BG)
frame.pack(expand=True, fill="both")
label = tk.Label(
frame,
text="",
bg=BG,
fg=FG,
font=("Segoe UI", 24, "bold"),
wraplength=860,
justify="center"
)
label.place(relx=0.5, rely=0.45, anchor="center")
hint = tk.Label(
frame,
text="Закрыть окно: Alt+F4",
bg=BG,
fg="#8DA3C7",
font=("Segoe UI", 12)
)
hint.place(relx=0.5, rely=0.80, anchor="center")
typed = ""
i = 0
cursor_on = True
done = False
def blink_cursor():
global cursor_on
cursor_on = not cursor_on
if done:
# после окончания курсор не нужен
return
label.config(text=typed + ("▌" if cursor_on else " "))
root.after(350, blink_cursor)
def type_step():
global i, typed, done
if i < len(MESSAGE):
typed += MESSAGE[i]
i += 1
label.config(text=typed + "▌")
root.after(SPEED_MS, type_step)
else:
done = True
label.config(text=typed)
hint.config(text="Готово. Можно закрыть окно.", fg=ACCENT)
root.after(300, blink_cursor)
root.after(600, type_step)
root.mainloop()
Пример 2 - Фейерверк
Что получится: откроется тёмное окно. В центре будет подсказка “Нажмите пробел или кликните мышкой”. Нажмёте пробел (или кликните) — и появится маленький “салют”: цветные точки разлетятся в разные стороны, как фейерверк. После этого окно можно просто закрыть.
Промт для данной программы:
Напиши простой скрипт на Python (только стандартная библиотека), который открывает окно (tkinter).
В окне по клику мышкой или по пробелу запускается красивый эффект “конфетти/фейерверк” на тёмном фоне.
После запуска эффекта покажи крупную надпись “Получилось!”.
Код должен быть одним файлом и запускаться через IDLE (F5).
Код, который получился у меня:
import tkinter as tk
import random
W, H = 900, 520
BG = "#070914"
COLORS = ["#7C5CFF", "#16F2B3", "#1AA7FF", "#FF4FD8", "#FFD166", "#A7FF83"]
root = tk.Tk()
root.title("Первый запуск")
root.configure(bg=BG)
c = tk.Canvas(root, width=W, height=H, bg=BG, highlightthickness=0)
c.pack()
text = c.create_text(W//2, H//2, text="Нажмите пробел или кликните мышкой",
fill="#D9E6FF", font=("Segoe UI", 22, "bold"))
parts = []
started = False
def burst(event=None):
global started
if started:
return
started = True
c.itemconfig(text, text="Получилось! ✨", fill="#FFFFFF")
cx, cy = W/2, H/2
for _ in range(220):
r = random.randint(2, 4)
x, y = cx, cy
vx = random.uniform(-6.5, 6.5)
vy = random.uniform(-10.0, 2.0)
g = random.uniform(0.10, 0.20)
col = random.choice(COLORS)
p = c.create_oval(x-r, y-r, x+r, y+r, fill=col, outline="")
parts.append([p, vx, vy, g])
def tick():
for p in parts[:]:
item, vx, vy, g = p
vy += g
c.move(item, vx, vy)
x1, y1, x2, y2 = c.coords(item)
if y1 > H + 30 or x2 < -30 or x1 > W + 30:
c.delete(item)
parts.remove(p)
else:
p[2] = vy
root.after(16, tick)
root.bind("", burst)
root.bind("", burst)
tick()
root.mainloop()
Пример 3 - Радужная спираль (черепашка)
Что получится: откроется окно turtle. Программа начнет рисовать яркий узор из линий: каждый следующий штрих будет длиннее предыдущего, а цвет будет меняться по кругу (красный, фиолетовый, синий, зелёный, оранжевый, жёлтый). В конце рисунок останется на экране — окно можно просто закрыть.
Промт для данной программы:
Напиши один файл main.py на Python (только стандартная библиотека, ничего не устанавливать).
Используй модуль turtle.
Задача: нарисовать в окне turtle яркий “радужный” узор/спираль:
- Создай черепашку t = turtle.Turtle()
- Поставь максимальную скорость (t.speed(0))
- Задай список цветов: ['red','purple','blue','green','orange','yellow']
- В цикле for i in range(360):
* t.pencolor(colors[i % len(colors)]) # цвет меняется по кругу
* t.forward(i) # каждый шаг длиннее предыдущего
* t.right(59) # поворот на 59 градусов
- В конце обязательно turtle.done()
Выведи полный код main.py целиком, без объяснений.
Код, который получился у меня:
import turtle
t = turtle.Turtle()
t.speed(0)
colors = ['red', 'purple', 'blue', 'green', 'orange', 'yellow']
for i in range(360):
t.pencolor(colors[i % 6])
t.forward(i)
t.right(59)
turtle.done()
Пример 4 - Игра угадай число от 1 до 10
Что получится: в консоли появится мини-игра. Компьютер загадает число от 1 до 10, а Вам нужно угадать его за 3 попытки. Вы вводите число — программа сразу скажет, угадали Вы или нет, и подскажет, в какую сторону думать: “моё число больше” или “моё число меньше”. Если введёте не число или число вне диапазона — программа объяснит ошибку и предложит ввести снова, не тратя попытку. Если за 3 попытки не угадаете — покажет правильный ответ. В конце попросит нажать Enter,
Промт для данной программы:
Напиши один файл main.py на Python (только стандартная библиотека, ничего не устанавливать).
Сделай мини-игру “Угадай число”:
- Компьютер загадывает случайное число от 1 до 10.
- У игрока есть ровно 3 попытки угадать.
- Перед каждой попыткой программа просит ввести число.
- Если введено не число — объясни ошибку и НЕ трать попытку (пусть попробует снова).
- Если число вне диапазона 1..10 — скажи об этом и НЕ трать попытку.
- Если угадал — сразу поздравь и заверши игру.
- Если не угадал — подскажи “больше” или “меньше”.
- После 3 неудачных попыток покажи правильное число.
- В конце добавь паузу: “Нажмите Enter, чтобы выйти…”, чтобы окно консоли не закрылось сразу.
Выведи полный код main.py целиком, без объяснений.
Код, который получился у меня:
import random
def read_guess() -> int | None:
"""Читает ввод пользователя и возвращает число, либо None если ввод некорректен."""
s = input("Ваш вариант (1-10): ").strip()
# Пустой ввод тоже считаем ошибкой, но попытку не тратим
if not s:
print("Пустой ввод. Введите число от 1 до 10.")
return None
# Проверка на целое число
try:
n = int(s)
except ValueError:
print("Это не похоже на число. Введите целое число от 1 до 10.")
return None
# Проверка диапазона
if n < 1 or n > 10:
print("Число должно быть в диапазоне от 1 до 10. Попробуйте снова.")
return None
return n
def main() -> None:
secret = random.randint(1, 10)
attempts = 3
print("🎲 Мини-игра: Угадай число!")
print("Я загадал число от 1 до 10. У вас 3 попытки.\n")
used = 0
while used < attempts:
guess = read_guess()
if guess is None:
continue # не тратим попытку
used += 1
if guess == secret:
print(f"\n✅ Угадали! Это число {secret}. Попыток использовано: {used}.")
break
if guess < secret:
print("❌ Не угадали. Моё число БОЛЬШЕ.")
else:
print("❌ Не угадали. Моё число МЕНЬШЕ.")
left = attempts - used
if left:
print(f"Осталось попыток: {left}\n")
else:
print(f"\n😅 Попытки закончились. Я загадывал число {secret}.")
input("\nНажмите Enter, чтобы выйти…")
if __name__ == "__main__":
main()
Пример 5 - ASCII-имя в рамке (“Матрица имя”)
Что получится: в консоли программа попросит ввести имя. После ввода она переведёт его в заглавные буквы и выведет крупную надпись из символов *: каждая буква рисуется по готовому “шрифту” (шаблоны для русских букв). Надпись будет обведена рамкой из *, а в конце появится приглашение нажать Enter, чтобы окно не закрылось сразу.
Промт для данной программы:
Напиши main.py на Python (только стандартная библиотека).
Скрипт должен спросить имя на русском и вывести это имя в консоли большими ASCII-буквами.
Добавь рамку вокруг надписи и в конце паузу “Нажмите Enter для выхода”.
Дай полный код.
Код, который получился у меня:
# main.py
# Словарь с ASCII-арт для русских заглавных букв (высота 5 строк, ширина 5 символов)
letters = {
'А': [
' *** ',
' * * ',
'*******',
'* *',
'* *'
],
'Б': [
'***** ',
'* * ',
'***** ',
'* * ',
'***** '
],
'В': [
'****** ',
'* *',
'****** ',
'* *',
'****** '
],
'Г': [
'****** ',
'* ',
'* ',
'* ',
'* '
],
'Д': [
' ***** ',
'* *',
'* *',
'* *',
' **** '
],
'Е': [
'*******',
'* ',
'***** ',
'* ',
'*******'
],
'Ё': [
' * * ',
'*******',
'* ',
'***** ',
'*******'
],
'Ж': [
'** **',
' * * * ',
' *** ',
' * * * ',
'** **'
],
'З': [
' ***** ',
' * ',
' ***** ',
' * ',
' ***** '
],
'И': [
'* *',
'** *',
'* * *',
'* * *',
'* ** '
],
'Й': [
' * * ',
'* *',
'** *',
'* * *',
'* ** '
],
'К': [
'* * ',
'* * ',
'** ',
'* * ',
'* * '
],
'Л': [
' ***** ',
' * ',
' * ',
' * ',
'** '
],
'М': [
'* *',
'** **',
'* * * *',
'* * *',
'* *'
],
'Н': [
'* *',
'* *',
'*******',
'* *',
'* *'
],
'О': [
' ***** ',
'* *',
'* *',
'* *',
' ***** '
],
'П': [
'*******',
'* *',
'* *',
'* *',
'* '
],
'Р': [
'****** ',
'* *',
'****** ',
'* ',
'* '
],
'С': [
' ***** ',
'* ',
'* ',
'* ',
' ***** '
],
'Т': [
'*******',
' * ',
' * ',
' * ',
' * '
],
'У': [
'* *',
' * * ',
' * * ',
' * ',
' * '
],
'Ф': [
' *** ',
' * * * ',
'*******',
' * * * ',
' *** '
],
'Х': [
'* *',
' * * ',
' *** ',
' * * ',
'* *'
],
'Ц': [
'* *',
'* *',
'* *',
'* *',
' ****_*'
],
'Ч': [
'* *',
'* *',
' ******',
' *',
' *'
],
'Ш': [
'* * * *',
'* * * *',
'* * * *',
'* * * *',
' ***** '
],
'Щ': [
'* * * *',
'* * * *',
'* * * *',
'* * * *',
' ****_*'
],
'Ъ': [
' *** ',
' * ',
' **** ',
' * * ',
' **** '
],
'Ы': [
'* *',
'* *',
'****** ',
'* *',
'****** '
],
'Ь': [
'* ',
'* ',
'***** ',
'* *',
'***** '
],
'Э': [
' ***** ',
' * ',
' **** ',
' * ',
' ***** '
],
'Ю': [
' ** * ',
' * * * ',
' * *** ',
' * * * ',
' ** * '
],
'Я': [
' ***** ',
' * ',
' ***** ',
'* * ',
' **** '
],
' ': [ # Пробел
' ',
' ',
' ',
' ',
' '
]
}
# Запрос имени
name = input("Введите ваше имя: ").upper()
# Определение высоты ASCII-арта
height = 5
# Построение строк для вывода
lines = [''] * height
for char in name:
if char in letters:
art = letters[char]
else:
# Если символ не поддерживается, пропускаем или используем пробел
art = letters[' ']
for i in range(height):
lines[i] += art[i]
# Определение максимальной ширины
max_width = max(len(line) for line in lines)
# Вывод с рамкой
print('*' * (max_width + 2))
for line in lines:
# Дополняем пробелами слева/справа если нужно, но поскольку все фиксированной ширины, не должно быть нужно
print('*' + line.ljust(max_width) + '*')
print('*' * (max_width + 2))
# Пауза
input("Нажмите Enter для выхода")
Заключение
Эти 5 примеров показывают главное: чтобы запустить первые скрипты, не нужно “становиться программистом”. Достаточно понять принцип: описали задачу обычными словами → получили код → запустили → посмотрели результат.
Иногда скрипт не запускается с первого раза — это нормально. В таком случае помогает простой приём: скопировать текст ошибки и отправить его в ту же нейросеть с просьбой объяснить, что произошло, и исправить код. Обычно так проблема решается быстро — главное не бросать после первой неудачи.
Со временем становится легче формулировать запросы: будет понятно, какие вопросы задавать, какие детали добавлять (например, “только стандартная библиотека”, “Windows 10/11”, “один файл main.py”, “покажи понятные сообщения”). Появляется личный опыт — и ответы становятся всё точнее.
Важно помнить: разные нейросети могут дать разный код на один и тот же запрос. И даже одна и та же нейросеть иногда отвечает по-разному в разные дни — это не ошибка пользователя, просто так устроены эти системы. Поэтому полезно относиться к коду как к “черновику”: проверить, запустить, при необходимости уточнить и поправить.
Если хочется идти дальше — удобно завести свою заметку “Мои лучшие промпты” и добавлять туда удачные формулировки. Так со временем появится свой набор проверенных запросов под любые бытовые задачи.