Цілі
- Поєднувати умови з логічними операторами
- Розуміти та застосовувати цикли while
- Програмувати складніші структури прийняття рішень
Складні умови
У деяких місцях звільнення від спеки отримують за двох умов. Температура повинна бути понад 30 градусів Цельсія в тіні і це повинно бути до 10:00 ранку. Можна також сказати: якщо темп >= 30 і тінь == True і час < 10 повинні всі бути True.
Такі зв'язки умов пов'язані з нашою мовою, як це чітко видно в прикладі вище. Якщо умова 1 є True І умова 2 є True, то зробити щось. Ще один спосіб поєднати умови - це логічне АБО.
| Оператор | Назва | Приклад умови | Значення для x, що дає True | Значення для x, що дає False |
|---|---|---|---|---|
and | Логічне І | x > 0 and x < 10 | 5 | 0 |
or | Логічне АБО | x < 0 or x > 10 | 11 | 5 |
not | Логічне НЕ | not (x == 5) | 3 | 5 |
import turtle
t = turtle.Turtle()
висота = 160
вік = 12
if висота > 150 and вік > 8:
t.write("Ти можеш їхати")
else:
t.write("Ти НЕ можеш їхати")Завдання
Змініть програму так, щоб людина могла їхати.
import turtle
t = turtle.Turtle()
висота =
вік =
if висота > 150 and вік > 8:
t.write("Ти можеш їхати")
else:
t.write("Ти НЕ можеш їхати")Цикли While
Цикл while ми також знаємо з Кароль.
repeat while IsWall
TurnLeft
endrepeatТут Кароль повторює TurnLeft доти, доки умова більше не виконується, тобто вона більше не стоїть перед стіною.
Спробуйте добре зрозуміти програму Python, перш ніж дивитися пояснення:
import turtle
t = turtle.Turtle()
відстань = 0
перемога = False
while перемога == False:
t.left(12)
t.forward(10)
відстань = відстань + 10
if відстань > 100:
перемога = True:::detail Пояснення Тобі повинен змагатися в маленькій гонці. Для цього він повинен подолати відстань і виграти. Поки він не виграв, він повинен продовжувати бігти (перемога == False). Тепер він біжить 10 кроків і перевіряється, чи він вже зробив більше 100 кроків. Якщо так, то він виграв перемога = True і умова перемога == False більше не виконується. :::
Попередження
На відміну від багатьох мов програмування, вміст циклу в Python відступається на один таб. Ніколи не забувайте двокрапку в кінці циклу.
Завдання
Завдання 1: Контроль входу
Напишіть програму для дискотеки. Людина може увійти тільки якщо вона:
- Принаймні 18 років І має квиток
- АБО якщо вона має VIP-статус (незалежно від віку)
Завдання 2: Зворотний відлік
Створіть зворотний відлік від 10 до 0 з циклом while. Тобі повинен написати кожне число окремо.
Завдання 3: Гра в кості
Симулюйте кидання костей, доки не випаде 6. Рахуйте, скільки разів кидали.
Підказка
Використовуйте import random та random.randint(1,6) для кості.
Підготовка до блоку 4
Подумайте, коли ви б використали цикл while, а коли краще використати цикл з фіксованою кількістю повторень.