Команди повторення. Оператори циклу.
Тест на функцію range() Тест
Цикли в Python
Цикли - це алгоритми, в яких є команди, які повторюються.
Команди можуть повторюватися для різних значень змінних.
Команди, що повторюються, є тілом циклу. Існують цикли з параметром та цикли з умовою.
Цикли з параметром
Цикли з заздалегідь відомою кількістю повторень команд циклу називають циклами з параметрами.
В таких циклах є лічильник циклів від a до n. Тобто від початкового значення до кінцевого значення. Блок команд в тілі циклу може містити одну або декілька команд.
Цикли з параметрами в Python мають вигляд:
<Створення об'єкта>
for <змінна> in <об'єкт>:
<блок команд тіла циклу>
Об'єктом може бути список, рядок, кортеж, діапазон, словник.
Оператор for перебирає всі значення об'єкта, і присвоює їх змінній. Спочатку береться початкове значення, потім наступне значення і т.д. до кінцевого значення.
В циклі використовується функція range(), яка генерує послідовність чисел у заданому діапазоні.
Структура функції range():
range(початок, кінець, крок)
range(n) – шкала чисел від 0 до n-1;
range(k, n) – шкала чисел від k до n-1;
range(k, n, m) – шкала чисел від k до n-1 з кроком m (причому m може бути від'ємним.)
Обов'язковим є параметр кінець. Якщо починаємо з нуля, то початок можна не вказувати, якщо числа ідуть послідовно, одне за одним з різницею в 1, то крок можна не вказувати. Якщо числа треба вказати в оберненому порядку, то крок буде від'ємним.
Наприклад:
for i in range(10, 21, 2):
В цьому циклі вказано діапазон чисел від 10 до 20 з кроком 2:
10, 12, 14, 16, 18, 20.
i - це лічильник циклу.
in це ключове слово, що наказує python почергово надавати змінній значення в діапазоні від початку до кінця мінус один з вказаним кроком.
Наприклад: Надрукувати числа від 0 до 10.
for i in range(11):
print(i)
Надрукувати числа від 25 до 30.
for i in range(25, 31):
print(i)
Надрукувати числа від 6 до 1.
for i in range(6, 0, -1):
print(i)
Діапазон значень можна також вказувати у вигляді списку:
m = [1, 2, 3, 4]
for i in m:
print(i)
У тіло циклу можуть бути вкладені умовні оператори розгалуження або інші оператори циклу.
Завдання для самостійного виконання:
1. Надрукувати числа від 0 до 5 з кроком 2.
2. Надрукувати числа від 10 до 30 з кроком 3.
3. Надрукувати числа від 20 до 5 з кроком 4.
4. Надрукувати числа від 0 до 35 з кроком 5.
5. Надрукувати числа від 6 до 1.
6. Надрукувати числа від 30 до 37.
Оператор continue
Оператор continue починає наступний прохід циклу, минаючи частину тіла циклу (for або while)
Виведемо кожну букву двічі, крім 'о'.
# Приклад 1
for i in 'hello world':
if i == 'o':
continue
print (i * 2, end = '')
Результат:
hheellll wwrrlldd
Виведемо усі парні числа від 6 до 30, окрім чисел у діапазоні від 14 до 22
# Приклад 2
for i in range(6, 31, 2):
if i>12 and i<26: # якщо число 12<i<26
continue # перехід на нову ітерацію циклу
print(i, end=" ")
Результат:
6 8 10 12 26 28 30
Оператор break
Оператор break достроково перериває цикл. Здійснює вихід із циклу навіть у тому випадку, коли всі ітерації не виконано.
# Приклад 3
for i in 'hello world':
if i == 'o':
break
print(i*2, end = '')
Результат:
hheellll
Обчислюємо суму цілих чисел доти, поки не буде введено q.
# Приклад 4
s=0 # початкова сума
while True: # нескінченний цикл
a=input("Уведи число: ")
if a=="q": # якщо введено символ q
break # переривання нескінченного циклу
a=int(a) # перетворення рядка в ціле число
s=s+a # обчислення суми чисел
print("сума чисел s=", s)
input()
Результат:
Уведи число: 1
Уведи число: 2
Уведи число: 3
Уведи число: q
сума чисел s= 6
Запитання
1. Для чого призначений цикл for ?
2. З якою функцією використовують цикл for ?
3. Для чого використовують оператори continue i break ?
4. Що буде надруковано після виконання фрагмента програми
# a)
for i in range(10):
if i%2 == 0:
print(i, end = " ")
# б)
for i in range(4):
print(i, end=" ")
print(i*2)
Коментарі
Дописати коментар