Глава 7 з 27

Безкоштовно

2: Алфавіт і словник програмування

⏱️ 60-75 хвилин
📊 intermediate

Закріпи розділ — картки

Розділ 7: умови — картки

Інтервальне повторення для цього розділу

Увійдіть, щоб займатися

Увійдіть, щоб займатися

Розділ 7: "Умови: роздоріжжя на дорозі"

Наступного дня Професор Біт запросив Алісу на прогулянку. Вони йшли парком, коли доріжка раптом розділилась на дві.

— Дивись, Алісо, — сказав Професор, зупиняючись на роздоріжжі. — Куди нам піти далі — наліво чи направо?

— Не знаю, — пожала плечима Аліса. — А що там далі?

— Якщо підемо наліво, прийдемо до озера, а якщо направо — до дитячого майданчика, — пояснив Професор.

— Тоді давайте до дитячого майданчика! — вирішила Аліса.

— Відмінно! — посміхнувся Професор. — Ти щойно використала умову, щоб прийняти рішення. У програмуванні умови працюють так само — вони дозволяють програмі обирати різні шляхи залежно від обставин.

Байт, що котився поряд з ними, видав звуковий сигнал:
— У програмуванні це записується за допомогою конструкції if-else:


if напрямок == "направо":
йтидодитячого_майданчика()
else:
йтидоозера()

Роздоріжжя в парку: if-else — ліворуч до озера, праворуч до майданчика

— Тобто, — задумалась Аліса, — комп'ютер перевіряє, чи виконується умова, і залежно від цього виконує різні команди?

— Саме так! — підтвердив Професор. — Умови — це як роздоріжжя на дорозі. Вони дозволяють програмі приймати рішення і діяти по-різному в різних ситуаціях.

Вся жизнь — условий череда,
Набор границ и упрощений.
Мы выбор делаем всегда
В цепи бесчисленных решений:
Сжигаем, строим города.

Лишь попытавшись сосчитать
Пути, летящие из точки,
Из них возможно ткань сплетать,
Вплетая код в живые строчки,
Чтобы укрыться в ней — и ждать.

Реальность — вязь чужих идей,
Смешавшихся с пространством личным,
Чтоб было нам комфортно в ней,
В порядке строгом и привычном,
Встречать особенных людей.

Вони дійшли до дитячого майданчика і сіли на лавочку. Професор дістав із сумки планшет:
— Умови в програмуванні базуються на логічних виразах, які можуть бути або істинними (True), або хибними (False).

Він написав кілька прикладів:


5 > 3 # True (істина), бо 5 справді більше за 3
10 < 7 # False (брехня), бо 10 не менше за 7
name == "Аліса" # True, якщо змінна name містить "Аліса"
age >= 12 # True, якщо змінна age більше або дорівнює 12

— Дивись, які оператори порівняння ми використовуємо:

  • == (дорівнює)

  • != (не дорівнює)

  • > (більше)

  • < (менше)

  • >= (більше або дорівнює)

  • <= (менше або дорівнює)
  • — Професоре, а чому для перевірки рівності використовується подвійний знак рівності? — запитала Аліса.

    — Бо одинарний знак рівності = вже використовується для присвоєння значень змінним, — пояснив Професор. — Щоб уникнути плутанини, для порівняння використовується подвійний знак ==.

    Логік, що сиділа на спинці лавочки, додала:
    — Умови можна також об'єднувати за допомогою логічних операторів:

  • and (і) — істинно, якщо обидві умови істинні

  • or (або) — істинно, якщо хоча б одна умова істинна

  • not (не) — змінює значення умови на протилежне
  • Професор написав ще кілька прикладів:


    if вік >= 12 and зріст >= 140:
    print("Можеш кататися на цьому атракціоні")
    else:
    print("Вибач, цей атракціон не для тебе")

    if погода == "дощ" or погода == "сніг":
    print("Візьми парасоль")
    else:
    print("Парасоль не потрібен")

    if not вік >= 18:
    print("Фільм тільки для дорослих")

    — А можна зробити більше двох варіантів? — зацікавилась Аліса. — Не тільки "якщо-інакше", але й щось ще?

    — Відмінне питання! — Професор показав новий приклад:


    if вік < 7:
    print("Ти ходиш у дитячий садок")
    elif вік < 18:
    print("Ти школяр")
    elif вік < 25:
    print("Ти, можливо, студент")
    else:
    print("Ти дорослий")

    elif — це скорочення від "else if", що означає "інакше якщо", — пояснив він. — Так можна перевіряти умови по ланцюжку, і виконається тільки той блок коду, умова якого істинна першою.

    На дитячому майданчику Аліса помітила хлопчика, який збирався з'їхати з гірки:
    — Дивіться, він ніби перевіряє умову: "Якщо гірка мокра, то не буду кататися".

    — Правильно помічено! — зрадів Професор. — Ми постійно використовуємо умовні конструкції в повсякденному житті:

  • Якщо світлофор червоний, то стоїмо. Інакше йдемо.

  • Якщо на вулиці холодно, то надіваємо куртку.

  • Якщо домашнє завдання зроблено, то можна грати.
  • — А в природі є приклади умов? — запитала Аліса.

    — Безліч! — підхопила Логік. — Рослини повертаються до сонця, якщо воно світить. Ведмеді впадають у сплячку, якщо настає зима. Птахи відлітають на південь, якщо стає холодно.

    Байт раптом підкотився до Аліси з невеликою грою на екрані:
    — Алісо, хочеш пограти в "Вгадай число"? Я загадав число від 1 до 10.

    — П'ять! — припустила Аліса.

    — Більше, — відповів Байт.

    — Сім!

    — Менше.

    — Значить, шість!

    — Правильно! — зрадів Байт.

    Професор посміхнувся:
    — Байт демонструє просту програму з умовами. Ось як це виглядає в коді:


    загадане_число = 6

    якщо введенечисло > загаданечисло:
    print("Більше")
    інакше якщо введенечисло < загаданечисло:
    print("Менше")
    інакше:
    print("Правильно!")

    — Умови роблять програми інтерактивними, — продовжив Професор. — Вони дозволяють програмі реагувати на дії користувача і адаптуватись до різних ситуацій.

    Завдання

    Уяви, що ти створюєш програму "Розумний будильник". Напиши умови, що визначають час підйому залежно від дня тижня та інших факторів. Наприклад:


    якщо деньтижня == "субота" або деньтижня == "неділя":
    підйом = "9:00"
    інакше якщо канікули == True:
    підйом = "8:30"
    інакше:
    підйом = "7:00"

    Додай ще кілька своїх умов, наприклад, погоду, наявність важливих справ тощо.