Skip to content

Latest commit

 

History

History
192 lines (131 loc) · 16.2 KB

File metadata and controls

192 lines (131 loc) · 16.2 KB

Урок 18. Цикл for

18.1 Цикл for в Python

Цикл for в Python используется для итерации по последовательности элементов, таких как строки, списки, кортежи и другие. Он позволяет выполнять определенный блок кода для каждого элемента в последовательности.

Итерации по последовательности проходят с помощью оператора in. Он позволяет выполнять определенный блок кода для каждого элемента в последовательности.

Синтаксис цикла for с использованием оператора in выглядит следующим образом:

for элемент in последовательность:
    # выполняемые действия
  • элемент - переменная, которая будет принимать значение каждого элемента из последовательности на каждой итерации цикла.
  • последовательность - итерируемый объект, такой как список, строка, кортеж или другой объект, по которому будет происходить итерация.

Примеры использования цикла for:

  1. Пример использования цикла for для итерации по списку чисел и вывода каждого числа плюс два:

    numbers = [10, 40, 20, 30]
    for item in numbers:
        print(item + 2)
  2. Пример использования цикла for с функцией range() для итерации по диапазону чисел:

    for i in range(1, 6):
        print(i)
  3. Пример использования цикла for для итерации по строке и вывода каждого символа:

    word = "Hello"
    for char in word:
        print(char)
  4. Пример использования цикла for с оператором enumerate() для получения индекса и значения элемента:

    fruits = ["apple", "banana", "cherry"]
    for index, fruit in enumerate(fruits):
        print("Index:", index, "Fruit:", fruit)

18.2 Функция range() в цикле for

Функция range() в цикле for используется для создания последовательности чисел, которые могут быть использованы для итерации в цикле.

Функция range() создает последовательность чисел в заданном диапазоне. Функция range() возвращает объект диапазона, который представляет последовательность чисел.

r = range(9)
lst = list(r)
print(lst)

18.3 Примеры использования range():

  1. Функция range() может быть вызвана с одним аргументом, который указывает на конечное значение диапазона. Начальное значение по умолчанию равно 0, а шаг равен 1.

    for i in range(5):
        print(i)
  2. Функция range() может быть вызвана с двумя аргументами, которые указывают на начальное и конечное значения диапазона. Шаг по умолчанию равен 1.

    for i in range(2, 8):
        print(i)
  3. Функция range() может быть вызвана с тремя аргументами, которые указывают на начальное, конечное значения диапазона и шаг. Шаг определяет, какое значение будет добавлено или вычитано на каждой итерации.

    for i in range(1, 10, 2):
        print(i)

18.4 for + range() + len()

Универсальный проход по списку любой длины с помощью цикла for, range() и len() можно осуществить следующим образом:

lst = [1, 2, 3, 4, 5]

for i in range(len(lst)):
    element = lst[i]
    print(element)

18.5 Отличия циклов for и while.

Циклы for и while являются двумя основными типами циклов в языке программирования.

Цикл for

  • Отличия: Цикл for используется для итерации по последовательности элементов, такой как список, строка или диапазон чисел. Он выполняет заданный блок кода для каждого элемента в последовательности.
  • Применение: Цикл for обычно используется, когда мы заранее знаем количество итераций или когда нам нужно выполнить определенные действия для каждого элемента в последовательности.
# Пример 1: Итерация по списку
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# Пример 2: Итерация по диапазону чисел
for i in range(1, 5):
    print(i)

В первом примере мы используем цикл for для итерации по списку fruits и выводим каждый элемент на экран. Во втором примере мы используем цикл for и функцию range() для итерации по диапазону чисел от 1 до 4 и выводим каждое число на экран.

Цикл while

  • Отличия: Цикл while выполняет заданный блок кода до тех пор, пока условие истинно. Он проверяет условие перед каждой итерацией.
  • Применение: Цикл while обычно используется, когда мы не знаем заранее, сколько итераций будет выполнено, и мы хотим продолжать выполнение до тех пор, пока условие истинно.
# Пример 1: Итерация с использованием счетчика
count = 0
while count < 5:
    print(count)
    count += 1

# Пример 2: Итерация с использованием условия
number = 10
while number > 0:
    print(number)
    number -= 2

В первом примере мы используем цикл while с переменной-счетчиком count, чтобы выполнить итерацию пять раз и вывести значение счетчика на экран. Во втором примере мы используем цикл while с условием, чтобы выполнить итерацию, пока значение переменной number больше 0, и выводим значение на экран, уменьшая его на 2 на каждой итерации.

Циклы for и while имеют разные сценарии использования, и выбор между ними зависит от конкретной задачи и требований программы.

Вопросы:

  1. Что такое цикл for в Python и как он работает?
  2. Для чего используется функция range() в цикле for?
  3. Какую роль выполняет функция len() в цикле for? Приведите пример кода.
  4. Как можно использовать цикл for для перебора элементов списка?
  5. Чем отличается цикл for от цикла while?
  6. Объясните, что происходит в следующем коде и что будет выведено:
    numbers = [10, 20, 30, 40]
    for i in range(len(numbers)):
        print(i, numbers[i])

Задачи:

  1. Используя функцию range() и list(), создайте список целых чисел 0, 1, 2, ..., 10. Выведите на экран список.

  2. Используя функцию range() и list(), создайте список целых чисел -10, -9, -8, ..., 0. Выведите на экран список.

  3. Используя функцию range() и list(), создайте список целых чисел -10, -8, -6, -4, -2. Выведите на экран список.

  4. Напишите программу, которая с помощью цикла for находит сумму всех четных чисел от 1 до 100 включительно.

  5. Напишите программу, которая создает новый список, содержащий квадраты всех чисел от 1 до 10 с использованием цикла for.

  6. На вход программе подаются целые числа, записанные в одну строчку через пробел. Необходимо прочитать эти числа и сохранить в списке (в виде чисел, а не строк). Затем, с помощью цикла for перебрать полученный список и просуммировать все нечетные значения. Результат (сумму) вывести на экран.

  7. На вход программе подается целое число n. Напишите программу, которая с помощью цикла for вычисляет факториал числа, введенного пользователем. (Факториал - Произведение всех чисел от 1 до n)

  8. На вход программе подается строка с названиями городов, записанных в одну строчку через пробел. Необходимо прочитать эту строку и сформировать список из названий городов. Затем, перебрать полученный список циклом for и заменить названия городов на длины их строк. Результат вывести на экран в виде последовательности чисел через пробел в одну строчку. Пример входящей строки: Москва Уфа Караганда Тверь Минск Казань

  9. На вход программе подается строка. Напишите программу, которая подсчитывает количество гласных букв в введенной пользователем строке. Для решения используйте цикл for.

  10. На вход программе подаются целые числа, записанные в одну строчку через пробел. Необходимо прочитать эти числа и сохранить в списке (в виде чисел, а не строк). Напишите программу, которая выводит элементы этого списка в обратном порядке с использованием цикла for (не используя встроенную функцию reversed()).

  11. На вход программе подаются целые числа, записанные в одну строчку через пробел. Необходимо прочитать эти числа и сохранить в списке (в виде чисел, а не строк). Напишите программу, которая с помощью цикла for находит минимальный элемент в заданном списке чисел (не используя встроенную функцию min()).

  12. На вход программе подаются две строки с целыми числами, записанными в одну строчку через пробел. Необходимо прочитать эти строки и сохранить в два списка (в виде чисел, а не строк). Напишите программу, которая будет объединять эти два списка в один с чередованием элементов. Используйте цикл for. Например, если есть списки [1, 2, 3] и ['a', 'b', 'c'], результат должен быть [1, 'a', 2, 'b', 3, 'c'].

  13. На вход программе подается натуральное число n. Прочитайте это число и вычислите сумму всех натуральных чисел меньше n, которые кратны или 3 или 5. Результат (сумму) выведите на экран (Натура́льные числа - числа, возникающие естественным образом при счёте (1, 2, 3, 4, 5, 6, 7 и так далее)).

  14. На вход программе подается натуральное число n. Прочитайте это число и с помощью цикла for найдите все делители этого числа (то есть, целые числа от 1 до n, которые делят число n нацело). Найденные делители выводить сразу в столбик без формирования списка.

  15. * На вход программе подается строка с названиями городов, записанных в одну строчку через пробел. Необходимо прочитать эту строку и сформировать список из названий городов. Переберите полученный список с помощью цикла for и определите, начинается ли название следующего города на последнюю букву предыдущего города в списке. Если последними встречаются буквы ь, ъ, ы, то берется следующая с конца буква. Вывести на экран ДА, если последовательность удовлетворяет этому правилу и НЕТ в противном случае.

  16. * На вход программе подается натуральное число n. а затем n различных натуральных чисел последовательности, каждое на отдельной строке. Напишите программу, которая выводит наибольшее и второе наибольшее число последовательности.

  17. * На вход программе подается целое число n. Напишите программу, которая с помощью цикла for проверяет, является ли введенное число n простым (Простое число - натуральное число, большее 1, если оно ни на что не делится, кроме себя и 1).


Предыдущий урок | Следующий урок