Глава 8 · Играем с буквами и словами
Мини-проект — красочная и динамическая математика
Собираем главу воедино: ввод пользователя, числа, строки и Turtle — в одном интерактивном мини-калькуляторе.
Финальный мини-проект главы объединяет практически всё: ввод от пользователя, числа из глав 4–5, строки и Turtle из глав 6–7 — маленький «калькулятор с характером».
dinamicheskaya_matematika.py
import turtle
screen = turtle.Screen()
artist = turtle.Turtle()
artist.hideturtle()
a = float(input("Первое число: "))
b = float(input("Второе число: "))
artist.penup()
artist.goto(0, 60)
artist.pencolor("purple")
artist.write(f"{a} + {b} = {a + b}", align="center", font=("Arial", 18, "bold"))
artist.goto(0, 0)
artist.pencolor("blue")
artist.write(f"{a} * {b} = {a * b}", align="center", font=("Arial", 18, "bold"))
screen.exitonclick()
★★★ Задача повышенной сложности
Ещё две операции
Добавьте на холст ещё две строки: результат вычитания и деления — своим цветом для каждой.
Практика: динамическая математика (логика, без окна Turtle)
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Итоги
Что мы узнали в этой главе
- Строки создают в одинарных, двойных или тройных кавычках; тройные сохраняют переносы строк, raw-строки (
r"...") отключают экранирование. - Служебные последовательности вроде
\nи\tвставляют символы, у которых нет своей клавиши;repr()показывает строку «как в коде». - Символы строки доступны по индексу с нуля и по отрицательному индексу с конца — первый символ всегда имеет индекс 0.
- Срез
[start:stop:step]достаёт часть строки:startвключён,stop— нет;[::-1]разворачивает строку. - Строки неизменяемы: методы вроде
upper()возвращают НОВУЮ строку, не трогая исходную. - У строк десятки готовых методов — от регистра (
upper(),strip()) до поиска и разбора (split(),replace(),find()) и проверки состава (isdigit(),isalpha()). inпроверяет вхождение подстроки; строку можно перебрать цикломfor ch in text.- f-строки — современный способ форматирования, с поддержкой выражений, точности и выравнивания;
%и.format()— более старые, но всё ещё встречаются в реальном коде. input()всегда возвращает строку — для чисел нужно явное преобразованиеint()/float().- Python одинаково хорошо работает с кириллицей, латиницей и эмодзи без специальной настройки.