Команда циклу (for)
Шкала чисел (range)
Цикл з параметром у Python може перебирати значення різних типів: числа, букви, рядки, елементи списку тощо. Функція range() створює послідовність чисел у вигляді арифметичної прогресії (шкалу). Ця функція приймає три параметри:
- початкове число, яке включається у шкалу;
- кінцеве число, яке не включається у шкалу;
- крок або значення зміни, яке може бути додатнім чи від'ємним. Крок означає, що наступне значення шкали відрізняється від попереднього на значення цього кроку.
Можна задавати лише один або два параметри цієї функції, тоді решта параметрів прийматимуть значення за умовчанням. Для початкового числа це значення 0, а крок рівний 1. Для кінцевого числа значення за умовчанням не існує, тому це обов'язковий параметр функції range().
range ( n )
Шкала чисел від 0 до n-1
range (k, n)
Шкала чисел від k до n-1
range (k, n, m)
Шкала чисел від k до n-1 з кроком m (може бути від'ємним)
Наприклад, у функції range(1,10,3) початковим числом є 1 (включно), кінцевим числом є 10 (не включно), а кроком є 3. Таким чином ця функція утворює послідовність чисел [1,4,7].
Функція range(3,-3,-2) створює набір чисел [3,1,-1], оскільки починає шкалу із значення 3, і перебирає числа з кроком -2 поки не досягне значення -3 (не включаючи це число). Якби нам потрібно було включити й число -3 у цю шкалу, функцію слід було би записати як range(3,-4,-2).
Команда циклу
Цикл з параметром використовується, коли потрібно забезпечити повторення блоку команд вказану кількість разів. Параметр при цьому має набувати значень, що входять у певну шкалу (чисел, букв чи інших елементів).
for змінна in шкала:команди
Змінна - це параметр, лічильник, котрий змінює своє значення щоразу при виконанні команд циклу.
Одне виконання команд циклу називається ітерацією.
Тіло циклу складається з команд, котрі виконуються кілька разів.
Важливо дотримуватись правил синтаксичного оформлення циклів у Python, тобто рядок з командою for завершується двокрапкою, а команди тіла циклу записуються з відступом.
Виконання циклу проходить кілька етапів:
1) Визначається перелік елементів шкали
2) Виконуються команди тіла циклу
3) Відбувається перевірка: якщо у шкалі є невикористані елементи, то виконується пункт 2, інакше виконання передається наступній команді за межами циклу.
Тіло циклу
Тіло циклу може складатись з різних команд, зазвичай з арифметичних операцій та команд виведення print.
Задача 1. Надрукувати числа від 1 до 10
Результатом виконання цієї програми буде стовпчик чисел:
1
2
3
4
5
6
7
8
9
10
Функція range(1,11) створила послідовність чисел [1,2,3,4,5,6,7,8,9,10]. Функція print() друкує вказаний аргумент (число з послідовності) та переходить до наступного рядка. Таким чином, змінна chyslo приймає послідовні значення зі шкали, а кожне із цих значень друкується з переходом у новий рядок.
Для того, щоб виконати друк цих значень у рядок, слід скористатись параметрами функції print():
- string буде додано у кінці кожного виведення на екран функцією print(). За умовчанням end="\n", що означає перехід на новий рядок.
- sep="string" означає, що string буде додано між надрукованими аргументами функції print(). За умовчанням це пробіл.
Таким чином, можна змінити тіло циклу, команду print(), додавши відповідний параметр.
Задача 2. Надрукувати числа від 1 до 20 у рядок
Досить часто в межах циклу потрібно виконувати підрахунок, накопичуючи суми чи інші числові значення. Для цього потрібно визначити змінну, в котрій будуть зберігатись результати таких розрахунків перед циклом і надати їй певного початкового значення. Якщо це не зробити, то виникне помилка типу NameError: name is not defined.
Змінення значення змінної передбачає виконання математичних операцій та збереження нового значення у цій же змінній. Python передбачає два різновиди запису подібних операцій.
var = var + 1 | var += 1 |
---|---|
total = total + number | total += number |
result = result * 5 | result *= 5 |
change = change / 25 | change /= 25 |
remainder = remainder % 2 | remainder %= 2 |
power = power ** 3 | power ** = 3 |
Операції в обох стовпцях є однаковими і можна використовувати будь-який запис. Перевагою скороченого запису є компактність.
Задача 3. Знайти суму чисел від 1 до 20
Задача 4. З клавіатури вводиться число. Знайти суму чисел від 1 до цього числа
Задача 5. З клавіатури вводиться два числа. Знайти суму чисел, які розміщені між ними
Задача 6. З клавіатури вводиться два числа. Знайти суму парних чисел, які розміщені між ними
Задача 7. Спортсмен розпочав тренування, пробігаючи 10 км в день. Щодня від збільшував норму на 10% від пробігу попереднього дня. Який шлях пробіжить спортсмен за 10 днів?
Задача 8. Одноклітинна амеба ділиться навпіл кожні 3 години. Визначити скільки буде амеб через 3,6,9,12, ... , 24 години
Задача 9. У гусей та кроликів разом 64 лапи. Скільки може бути кроликів та гусей (всі можливі комбінації)?
Відео циклу в природі