Введение
В этом практическом занятии вы научитесь использовать циклы for и функцию range() в Python. Циклы for позволяют перебирать последовательность элементов, например, список или строку. Функция range() — это встроенная функция, которая возвращает последовательность чисел, начиная с 0 по умолчанию, с шагом 1 (также по умолчанию) и заканчивая указанным числом.
Достижения
- Циклы
for - Функция
range() - Функция
enumerate() - Функция
zip()
Цикл for
Цикл for — это оператор управления потоком, который позволяет перебирать последовательность элементов. Синтаксис цикла for выглядит следующим образом:
for variable in sequence:
statements
где sequence — это последовательность элементов (например, список, кортеж или строка), а variable — это переменная, которая последовательно принимает каждое значение из последовательности. statements внутри цикла будут выполняться для каждого значения в последовательности.
Откройте новый интерпретатор Python.
python3
Вот пример простого цикла for, который перебирает список целых чисел и выводит каждое значение:
numbers = [1, 2, 3, 4, 5]
for number in numbers:
print(number)
Перебор строки:
for char in 'Hello':
print(char)
Функция range()
Функция range() — это встроенная функция в Python, которая возвращает последовательность чисел. Синтаксис функции range() выглядит следующим образом:
range(start, stop, step)
где start — это начальное число последовательности (по умолчанию 0), stop — это конечное число последовательности (не включается), а step — это приращение между каждым числом в последовательности (по умолчанию 1).
Вы можете использовать функцию range() в цикле for для перебора последовательности чисел. Например:
for i in range(5):
print(i)
Вы также можете указать значения start и stop для функции range():
for i in range(2, 5):
print(i)
Вы даже можете указать значение шага:
for i in range(2, 10, 2):
print(i)
Вложенные циклы for
Можно также использовать несколько циклов for для перебора вложенных последовательностей. Например:
for i in range(1, 3):
for j in range(1, 4):
print(f'i: {i}, j: {j}')
Упражнение
Теперь轮到你来练习使用循环语句 for 和函数 range() 了。编写一个程序,输出以下图案:
*
**
***
****
*****
一些提示:
你的程序应该使用两个循环,一个嵌套在另一个里面。外层循环应该遍历行数,内层循环应该遍历列数。
要完成这个练习,你需要使用 print() 函数来输出星号。你可以使用 range() 函数来控制循环的迭代次数。
Функция enumerate()
Функция enumerate принимает итерируемый объект, такой как список, и возвращает итератор, который генерирует кортежи, содержащие индекс и значение каждого элемента. В следующем примере мы используем оператор распаковки (index, fruit), чтобы присвоить индекс и значение каждого кортежа переменным index и fruit соответственно.
## Пример использования функции enumerate в цикле for в Python
## Примерный список для перебора
fruits = ['apple', 'banana', 'cherry']
## Использование цикла for и функции enumerate для перебора списка
for index, fruit in enumerate(fruits):
print(f"Index: {index}, Fruit: {fruit}")
## Вывод:
## Index: 0, Fruit: apple
## Index: 1, Fruit: banana
## Index: 2, Fruit: cherry
В приведенном выше примере мы определяем список fruits, содержащий элементы apple, banana и cherry.
Затем мы используем цикл for для перебора списка fruits и функцию enumerate, чтобы получить как индекс, так и значение каждого элемента в списке. Внутри цикла мы используем форматирование строк, чтобы вывести индекс и фрукт. Функция enumerate по умолчанию начинает计数 с 0, но вы можете использовать необязательный аргумент start, чтобы указать другое начальное значение для计数。
Функция zip()
Функция zip() может быть полезной при работе с несколькими списками или другими итерируемыми объектами, когда вы хотите перебирать их элементы парами, или когда вы хотите объединить несколько итерируемых объектов в один.
## Пример использования функции zip() в цикле for в Python
## Примерные списки для перебора
fruits = ['apple', 'banana', 'cherry']
prices = [1.2, 3.5, 2.5]
## Использование цикла for и функции zip для перебора списков
for fruit, price in zip(fruits, prices):
print(f"Fruit: {fruit}, Price: ${price}")
## Вывод:
## Fruit: apple, Price: $1.2
## Fruit: banana, Price: $3.5
## Fruit: cherry, Price: $2.5
В приведенном выше примере мы определяем два списка fruits и prices, содержащие элементы apple, banana, cherry и 1.2, 3.5, 2.5 соответственно.
Затем мы используем цикл for для перебора элементов из двух списков с использованием функции zip(). Функция zip() принимает несколько итерируемых объектов в качестве входных данных и возвращает итератор, который генерирует кортежи, содержащие элементы входных итерируемых объектов в соответствующих позициях. В приведенном выше примере мы используем оператор распаковки (fruit, price), чтобы присвоить элементы каждого кортежа переменным fruit и price соответственно. Внутри цикла мы используем форматирование строк, чтобы вывести Fruit и цену.
Если длина входного итерируемого объекта не равна, функция zip() остановится в конце самого короткого итерируемого объекта.
Резюме
В этом практическом занятии вы узнали, как использовать циклы for и функцию range() в Python для перебора последовательности элементов. Вы узнали синтаксис циклов for и функции range(), и увидели примеры их использования для перебора списков, строк, кортежей и последовательностей чисел. Также вы узнали, как использовать вложенные циклы for для перебора вложенных последовательностей.
Теперь, когда вы изучили основы циклов for и функции range(), вы можете использовать эти инструменты для выполнения таких задач, как обработка данных, генерация выводов и многое другое.



