DamiRocK

Python: аннотации типов и функция word_multiply()

Реализуем word_multiply(text, repetitions) с аннотациями str и int. Проверяем повторение строки, нулевое число повторов и роль type hints.

Задание источника

Функция word_multiply() должна принимать строку и число повторений, возвращать повторённую строку и иметь аннотации типов. При нуле возвращается пустая строка.

def word_multiply(text: str, repetitions: int) -> str:
    return text * repetitions

print(word_multiply("python", 2))  # pythonpython
print(word_multiply("python", 0))  # пустая строка

Что показывают аннотации

text: str сообщает ожидаемый тип строки, repetitions: int — целое число повторений, а -> str — строковый результат. Сам Python обычно не превращает эти аннотации в автоматическую проверку времени выполнения: они используются как описание интерфейса и могут проверяться отдельными статическими анализаторами.

Почему решение короткое

Для строк оператор умножения на целое число повторяет содержимое. Ноль повторений даёт пустую строку. Отрицательное число тоже даст пустую строку в Python, но исходное упражнение отдельно формулирует только случай нуля; дополнительную валидацию отрицательных значений оно не требует.

Проверка типов не равна проверке логики

Даже корректно аннотированная функция может содержать неправильную формулу. Аннотации улучшают читаемость и помогают инструментам находить несовместимые типы, но не доказывают, что алгоритм соответствует условию.

Hexlet / Code Basics и участники · Исходный урок и упражнение · GNU AGPL v3. Исправлено 10 сентября 2026: прежняя страница была ошибочно сопоставлена с несуществующим путём 300-none; URL сохранён.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.