8.1 Цикл for
Те, що можна виконувати групу команд за заданою умовою — це чудово. А що, якщо я хочу виконати якусь дію 100 разів? Як це зробити?
Для цього в мові Python є цикли. І для нашого завдання ідеально підходить цикл for
. Загальний вигляд оператора for
такий:
for змінна in список_значень:
команда1
команда1
командаN
Де список_значень — це певний набір значень: список, рядок, словник (про них пізніше).
Змінна послідовно приймає значення зі списку_значень, і для кожного з них виконується блок команд.
Приклад:
Приклад | Пояснення |
---|---|
|
1. Змінній fruit присвоюється значення "apple" і виконується команда print(fruit ) 2. Змінній fruit присвоюється значення "banana" і виконується команда print(fruit ) 3. Змінній fruit присвоюється значення "cherry" і виконується команда print(fruit ) |
Ось як працює цикл:
Якщо в списку після слова in
буде 10 значень, це означає, що блок команд виконається 10 разів.
Для кожного значення зі списку_значень відбуваються дві речі:
- Змінній циклу (яка вказана після слова
for
) присвоюється чергове значення зі список_значень. - Потім виконується блок команд.
Ще один приклад:
Приклад | Пояснення |
---|---|
|
Цикл виведе на екран числа 1 2 3 … 10 |
8.2 Завдання діапазону — range
У попередньому прикладі ви могли бачити, що вивести на екран 10 чисел дуже просто. Але що, якщо ми хочемо виконати цикл 100 разів? Або 1000?
Звісно для цього є рішення. В мові Python є спеціальна функція range()
для генерації послідовності чисел, що в поєднанні з циклом for
робить їх потужним інструментом для управління повторюваними завданнями.
Функція range()
може бути використана кількома способами, залежно від кількості аргументів, переданих в неї.
Основи застосування range()
:
Один аргумент: range(n)
генерує послідовність від 0 до n-1. Це корисно, коли потрібно виконати дію певну кількість разів.
for i in range(5):
print(i) # Виведе числа від 0 до 4
Два аргументи: range(start, stop)
генерує послідовність від start
до stop-1
. Це корисно для початку ітерації з певного числа.
for i in range(1, 6):
print(i) # Виведе числа від 1 до 5
Три аргументи: range(start, stop, step)
додає третій аргумент step
, який визначає крок між числами в послідовності.
for i in range(0, 10, 2):
print(i) # Виведе парні числа від 0 до 8
Зворотні цикли: range()
може генерувати числа в зворотньому порядку, що дозволяє виконувати зворотні ітерації.
for i in range(10, 0, -1):
print(i) # Виведе числа від 10 до 1
Функція range()
у поєднанні з циклом for
надає гнучкий інструмент для контролю ітерацій у Python. Розуміння її можливостей допомагає створювати більш ефективні та зрозумілі цикли, які є невід'ємною частиною будь-якої програми.
8.3 Цикл по списку
Якщо ви хочете виконати групу дій над різними значеннями, функція range()
вам не підходить, ви завжди можете об'єднати ці значення в список за допомогою квадратних дужок. Загальний вигляд цієї операції виглядає так:
for змінна in [val1, val2, …, valN]:
команда1
команда1
командаN
Ви просто перелічуєте значення через кому, і цикл виконається для кожного з них, а змінна послідовно прийме кожне значення. Приклад:
Приклад | Пояснення |
---|---|
|
Цикл виведе на екран рядки apple banana cherry |
Ви можете вказати в списку числа, причому прямо в циклі після слова in
:
Приклад | Пояснення |
---|---|
|
Цикл виведе на екран числа 0.99 2.75 0.25 |
У списку взагалі можна перелічити об'єкти будь-якого типу:
Приклад | Пояснення |
---|---|
|
Цикл виведе на екран рядки 0.99 apple -1 True |
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
Обратнізворотні цикли: range() може генерувати числа в зворотньому порядку...