Зарегистрируйтесь, чтобы продолжить обучение

Обход строк Основы Python

С помощью циклов не только обрабатывают числа, но работают и со строками. Например, можно получить конкретный символ по его индексу, а также формировать строки в циклах.

Ниже пример кода, который печатает буквы каждого слова на отдельной строке:

def print_name_by_symbol(name: str) -> None:
    i = 0
    # Такая проверка будет выполняться до конца строки,
    # включая последний символ. Его индекс `length - 1`.
    while i < len(name):
        # Обращаемся к символу по индексу
        print(name[i])
        i = i + 1

name = 'Arya'
print_name_by_symbol(name)
# => 'A'
# => 'r'
# => 'y'
# => 'a'

Главное в этом коде — поставить правильное условие в while. Это можно сделать двумя способами: i < len(name) или i <= len(name) - 1 — они приведут к одному результату.

Переворот строки

Вместо печати можно собирать новую строку. Например, напишем функцию, которая переворачивает строку:

def reverse_string(text: str) -> None:
    result = ''
    i = len(text) - 1
    while i >= 0:
        result = result + text[i]
        i = i - 1
    return result

print(reverse_string('Arya'))    # => ayrA
print(reverse_string('hexlet'))  # => telxeh

Здесь:

  • переменная result инициализируется пустой строкой — нейтральным элементом для конкатенации;
  • цикл начинается с последнего индекса (len(text) - 1) и двигается к нулю;
  • на каждом шаге к результату добавляется текущий символ;
  • когда индекс становится меньше нуля, цикл завершается.

В итоге строка строится в обратном порядке.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff