Подорож №13. Цикл з передумовою while

Даний цикл використовується в тих випадках коли кількість повторень невідома заздалегідь. Формат запису циклу із заданою кількістю повторень має наступний вигляд:



Схема циклу дуже проста. Доки логічний вираз умови циклу є істина, буде виконуватися тіло циклу (вказівка1, вказівка2 ...) Як тільки логічний вираз стає хибою, цикл припиняється.

1) Цикл розпочнеться, якщо умова є True. Якщо циклова умова від початку буде False, програма проігнорує цикл і тіло циклу не виконається жодного разу.

2) Якщо умова циклу спочатку буде True, але під час виконання циклу ніколи не стане False, то в такому випадку цикл розпочнеться, але ніколи не завершиться. Ефект нескінченного циклу призведе до "зависання програми".

Цикл While застосовується в багатьох випадках. Чим далі ви будете просуватися у вивченні мови програмування (не тільки Python), тим частіше ви будете звертатися до цього циклу.
Розглянемо приклади:

Приклад №1 операції з послідовністю дробових чисел.

Визначити суму послідовності від 1 до n з кроком 0.5, де n вводиться з клавіатури. Крок - дробове число, тому цикл for не підходить. Треба використовувати лише цикл while

  Вікно редактора Python
n = float(input('введіть n '))
i = 1
s = 0
while i < n:
      s = s + i
      i = i + 0.5
print(s)

Виконання програми після натискання F5 та введеним значенням 2:

  Вікно команд Python Shell
>>>
Введіть n 2
сума = 2.5
>>>

Важливо! При розробці while необхідно передбачити всі випадки коли циклічна умова набуватиме значення False. Якщо в попередньому прикладі прибрати рядок i=i+1, то цикл буде неcкінченним і програма ніколи не завершиться.

Приклад №2 Припинення циклу по запиту.

Виводить на екран по черзі значення 2n. починаючи з n = 0. Перед виведенням наступного результату програма має запитувати продовжити чи припинити?

  Вікно редактора Python
x = 0
n = 0
while x == 0:
      print('2**',n,' = ',2**n)
      n += 1
      x = int(input('0 - продовжити, 1 - припинити '))

Виконання програми після натискання F5:

  Вікно команд Python Shell
>>>
2** 0 = 1
1 - припинити, 0 - продовжити 0
2** 1 = 2
1 - припинити, 0 - продовжити 0
2** 2 = 4
1 - припинити, 0 - продовжити 1
>>>

Практичні вправи:

Задача №1. Знайти суму.

Знайти суму послідовності 0.1, 0.2, ... 1.

Задача №2. Відновіть код програми

Дано: дійсні числа a і b. Необхідно було розробити калькулятор який би виконував з числами a і b наступні операції:
a + b, a - b, a * b, a / b, ab, завершити роботу.

Програму було створено і навіть надруковано екранну копію кода. Але стався такий прикрий випадок, що учень Вася заляпав йодом цей код.


Відновіть код цієї програми середовищі IDLE та перевірте його роботу.