Найти тему

Python.Основы синтаксиса. Циклы. Часть 2.1

Продолжая тему списков. В языке программирования Python есть такое понятие как срезы. Если простыми словами, то мы говорим программе дай мне элементы из списка от индекса 2 до 5, то есть если у нас список состоит из 6 элементов [1, 2, 3, 4, 5, 6, 7] , то нам вернётся список с значениями [3, 4, 5]. Программа вернётся нам вернёт данные строго до 5 индекса.

Чтобы воспользоваться срезом применяется следующий синтаксис

something_list = [1, 2, 3, 4]

print(something_list[1:3])
Вывод: [2, 3]

Дополнительная информация по спискам

С основами списка мы разобрались, теперь самое интересное. Появляется вопрос А как пройтись по спику так, чтобы не писать каждый раз руками название переменной списка и указывать индекс? на такой случай в программирование придумали циклы. О них мы сейчас и поговорим.

Циклы

Цикл - это многократное использование набора инструкций.

В Python, как и в другом языке программирования есть цикл for и while.

Если мы работаем с циклом for, то мы всегда знаем: количество элементов и количество повторений.

Если мы работаем с циклом while, то мы знаем только условие выхода из цикла.

Если у нас есть 2 вида циклов, то возникает вопрос А какой цикл и когда использовать? Тут всё очень просто, если у нас есть код, который должен выполняться при определённых условия, то можно смело использовать цикл while, а если мы знаем, что мы перебираем индекс, элементы, а так же знаем количество повторений, то нужно использовать цикл for.

Давайте разберём несколько примеров с циклом while.

Мы хотим, чтобы выполнялись определённые действия внутри цикла, то есть наш цикл должен быть либо бесконечным или выполняться пока условие действует.

# Переменная типа int
iteration = 0
# Условия цикла, при котором он будет выполняться
while iteration <= 5:
# Тело цикла
print(str(iteration))
iteration += 1

Как видно на примере мы добавили переменную-счетчик iteration, которая будет увеличиваться на 1 при каждом проходе цикла.

Реализуем бесконечный цикл и добавим в него условие при котором мы выйдем из него используя метод input который изучили ранее.

# Создаем логическую переменную и указываем значение true
work = True
# Условия цикла, при котором он будет выполняться
while work:
# Читаем, что ввёл пользователь
answer = input()
# Проверяем, что было введено стоп слово
if answer == 'стоп':
print("Выходим из цикла")
break
# Иначе продолжаем выполнение цикла
else:
print("Пользователь ничего не ввёл")
Консоль:
Пользователь ничего не ввёл
Консоль: стоп
Выходим из цикла

На этих двух примерах можно увидеть, что цикл while не очень удобен, если нам нужно работать с списками, потому что нам нужно будет придумывать как мы будем получать из этого списка данные.

Давайте теперь разберём несколько примеров с циклом for.

У нас есть список, который хранит в себе слова и мы хотим сначала напечатать этот список в консоль, а заетм напечатать только те элементы списка, который содержать определённую букву.

# Список слов
something_list = ["нитка", "вилка", "нота", "рукав", "воронка"]
# Выводим список в консоль
print(something_list)
Вывод: ['нитка', 'вилка', 'нота', 'рукав', 'воронка']
# Запускаем цикл по списку и выводим в консоль только те слова которые содержат букву "в"
for el in something_list:
if el.__contains__("в"):
# Выводим подходящий нам элемент из списка
print(el)
Вывод: вилка рукав воронка

Так же мы можем запустить цикл перечисляя индексы списка используя метод len (от английского слова length) и range чтобы задать диапазон шага.

# Список слов
something_list = ["нитка", "вилка", "нота", "рукав", "воронка"]
# Запускаем цикл по индексам списка
for index in range(len(something_list)):
el = something_list[index]
print(f"Индекс элемента: {index}, элемент: {el}")

Как вы видите, работа с цикла не сложная и каждый вид цикла подходит под свои задачи.

На этом все, свои вопросы пишите в комментариях.

Дополнительная информация по работе с циклами.

Другие статьи канала:

Изучаю язык программирования Python. Основы синтаксиса. Списки. Часть 2.
Изучаю языки програмирования8 марта 2023
Изучаю язык программирования Python. Основы синтаксиса. f - строки. Часть 1.1
Изучаю языки програмирования6 марта 2023
Изучаю язык программирования Python. Основы синтаксиса. Перменные и вывод в консоль. Часть 1.
Изучаю языки програмирования5 марта 2023