Цілі
- Поєднувати умови з логічними операторами
- Розуміти та застосовувати цикли 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, а коли краще використати цикл з фіксованою кількістю повторень.