Умови в Python – потрібна штука. Якщо тільки хочете створити вибір у своїй програмі, вони тут як тут.
Якщо спорт – це життя. Й інші застосування конструкції if
Умови в Python… Що буде, якщо…
Конструкцію if (ЯКЩО) використовуємо, якщо в програмі є умови.
Якщо футболіст забив 5 голів …
Якщо бігун обігнав усіх інших …
Якщо атлет стрибнув на висоту у 2 метри ….
Так само умови можуть нам зустрітися і в реальному житті. Наприклад, коли переходимо дорогу і перевіряємо світлофор. Якщо світло зелене, то можна йти.
Якщо ви раніше програмували в Scratch, то там також без умов не обходилось:
Приклади умов:
Чай чи кава?
Чорне чи біле?
Полуничне, шоколадне, мандаринове чи якесь інше морозиво?
Коротка чи повна умова?
В python програмах спочатку записується частина if з умовним виразом, далі можуть слідувати одна або більше необов’язкових частин elif (інші умови), і, нарешті, необов’язкова частина else. Загальна форма запису умовної інструкції if виглядає наступним чином:
if test1:
state1
elif test2:
state2
else:
state3
Приклад умови, яка визначає, яким є число: одноцифровим, двоцифровим чи трицифровим:
Кажуть, Python – проста мова програмування. Але починаючи з цього уроку, ви можете засумніватися в цьому. Все тому, що для умов, циклів, да деяких інших конструкцій дуже важливі відступи (кількість пробілів від початку рядка) Якщо в умові кілька рядків, а відступи між ними різні, то python буде сповіщати про помилку доки ви не поставите однакову кількість пробілів.
Це може трохи дратувати на початку, але пізніше ви оціните, як гарно і зрозуміло виглядає код з такими відступами.
1: Давайте напишемо програму, яка буде визначати, буде в цьому році проводитися Літня Олімпіада чи ні (Олімпіади проводяться в високосні роки).
Зверніть увагу, на відступи в деяких рядках. У вас в програмах вони так само мають бути. І 3-й і 5 рядок мають містити однакову кількість пробілів на початку.
В прикладі сірим додані коментарі, їх можна не додавати, це додаткові пояснення.
year=int(input ('Введи рік:')) # тут вводимо рік
if (year%4==0): # якщо рік ділиться на 4, тобто остача від ділення на 4 буде 0
print('В цьому році буде Літня Олімпіада!!!') # то буде Олімпіада
else: # інакше, (якщо) умова не виконалась
print('Немає Олімпіади ') # Олімпіади не буде
Оператори порівняння
Дуже часто в умовах використовуються оператори порівняння. Вони ось такі:
< | Менше – умова вірна, якщо перший операнд менше другого. |
> | Більше – умова вірна, якщо перший операнд більше другого. |
<= | Менше або дорівнює |
>= | Більше або дорівнює |
== | Рівність. Умова вірно, якщо два операнди рівні. |
! = | Нерівність. Умова вірно, якщо два операнди нерівні. |
Приклади їх застосування дивись у наступній табличці:
Наприклад, умова (x * y <1000) означає “значення x помножене на значення y менше 1000”, а умова (2 * x! = Y) означає “подвоєне значення змінної x не дорівнює значенню змінної y”.
Оператори порівняння в Python можна об’єднувати в ланцюжки (на відміну від більшості інших мов програмування, для цього потрібно використовувати логічні зв’язки), наприклад, a == b == c (означає, що а, b і c мають бути рівні між собою) або 1 <= x <= 10 (х від 1 до 10).
Логічні оператори у Python
Якщо треба застосувати кілька умов разом, то тут допоможуть логічні оператори.
X and Y | Логічне “і” Спрацьовує, якщо обидва значення X та Y істинні. |
X or Y | Логічне “або” Спрацьовує, якщо хоча б одне зі значень X чи Y істинно. |
not X | Логічне “не” Спрацьовує, якщо X не істина. |
2: Давайте створимо програму-рекомендацію для батьків. Користувач буде вводити вік дитини, а програма визначатиме, скільки часу на тиждень дитина має тренуватись, щоб досягти результатів у спорті.
Якщо дитині 1 рік, програма має написати: “Ще зарано займатись спортом”
Якщо дитині 2-4 роки – “Просто пограйте з дитиною в активні ігри, ще зарано тренуватись”
Якщо дитині 5-8 років – “1-2 тренування на тиждень”
Якщо дитині 9-16 років – “3 тренування на тиждень”
Якщо дитині більш як 16 років – “Нехай сам визначить, як тренуватись”
"""Якщо дитині 1 рік - програма має написати: “Ще зарано займатись спортом”
Якщо дитині 2-4 роки - “Просто пограйте з дитиною в активні ігри, ще зарано тренуватись”
Якщо дитині 5-8 років - “1-2 тренування на тиждень”
Якщо дитині 9-16 років - “3 тренування на тиждень”
Якщо дитині більш як 16 років - “Нехай сам визначить, як тренуватись”
"""
years=int(input ("Введіть вік дитини: "))
if years==1:
print ("Ще зарано займатись спортом")
elif years>=2 and years<=4 :
print ("Пограйте з дитиною в активні ігри, ще зарано тренуватись")
elif years>=5 and years<=8 :
print ("1-2 тренування на тиждень")
elif years>=9 and years<=16 :
print ("3 тренування на тиждень")
else:
print ("Нехай сам визначить, як тренуватись")
Додаткові завдання на урок
1: Змініть програму з першого прикладу так, щоб вона визначала не тільки коли буде літня олімпіада, а й коли буде зимова. (Зимова олімпіада проводиться в роки, які діляться на 2 і не діляться на 4)
2: Напишіть програму, яка радитиме, яким видом спорту зайнятися.
Спочатку програма має поставити запитання:
Ти дівчинка (так\ні)?
Ти любиш швидкість(так\ні)?
Ти любиш грати в команді(так\ні)?
Якщо це
дівчинка, любить швидкість, любить грати у команді – програма має порадити їй баскетбол
дівчинка, не любить швидкість, любить грати в команді – радимо чирлідинг
дівчинка, не любить швидкість, не любить грати у команді – радимо гімнастику
не дівчинка, любить швидкість, любить грати в команді – радимо футбол
не дівчинка, не любить швидкість, любить грати в команді – радимо волейбол
не дівчинка, не любить швидкість, не любить грати у команді – радимо шахи
3: Програма має запитати у користувача два числа. Якщо перше число більше другого, програма має вивести різницю цих чисел. Якщо перше число менше другого – програма виводить суму чисел. Якщо числа рівні – програма виводить добуток.
Домашнє завдання
1: Художня гімнастика – дуже відповідальний і непростий спорт. Щороку дівчата тренуються все більше і наполегливіше, щоб досягти результатів. Створіть програму, яка визначатиме, скільки годин тренувань на тиждень має відвідувати юна гімнастка в залежності від віку. (Вік вводить користувач з клавіатури.)
Маленькі гімнастки (від 3 до 5 років) тренуються 3 рази на тиждень по 1 годині
Гімнастки від 6 років до 11 проводять на тренуваннях по 2 години на день, відвідуючи їх 5 разів на тиждень
А коли гімнастка йде у професійний спорт (12-16 років) і входить, наприклад, до збірної, тренування займають ще більше часу: 6 разів на тиждень спортсменка відвідує тренування по 2 рази на день, працюючи на кожному по 3 години!
Ось основа для майбутньої програми. Вам треба буде замінити […] на якийсь код і дописати програму:
if years>=3 and years<=5 :
practice=3*1
elif [...] :
practice=2*5
[...]
[…] – означає, що тут треба щось дописати
print (f"Годин для тренувань на тиждень: {practice}")
2: Напишіть програму особистого тренера. Ваша програма повинна складати список вправ для тренування на основі дня місяця (користувач вводить тільки число місяця). Умови завдання дивіться у табличці після прикладу
Приклад:
Введіть число місяця: 12
Ваше тренування сьогодні:
тримаємо пряму планку 40 секунд
віджимаємося 20 разів
качаємо пресс 40 разів
Приклад коду для першої вправи:
day=int (input("введи день місяця:"))
if (day>=1) and (day<=10):
print ("Роби планку 30 сек")
elif (day>=11) and (day<=20):
print ("Роби планку 40 сек")
elif (day>=21) and (day<=31):
print ("Роби планку 50 сек")
Умови завдання:
якщо число від 1 до 10 – тримаємо пряму планку 30 сек.
якщо число від 10 до 20 – тримаємо бічну планку 40 сек.
якщо число від 20 до 31- тримаємо пряму планку 60 сек.
якщо число ділиться на 2, віджимаємося 20 разів
якщо число не ділиться на 2, підтягуємося 5 разів
Підказка: (day%2==0) – ділиться на 2 (day%2!=0) – не ділиться на 2
якщо число ділиться на 5 і не дорівнює 10, присідаємо 40 разів
(Підказка: !=)
якщо число =10 або =31, робимо вправу “Бьорбі” 10 разів
якщо число ділиться на 4, качаємо прес 40 разів
якщо число ділиться на 5, качаємо прес 50 разів
якщо число ділиться на 7, качаємо прес 70 разів
Level Up!
1: Світовий рекорд в бігу на 100 метрів серед чоловіків, встановлений 16 серпня 2009 року, належить чоловіку з Ямайки Усейну Болту і становить 9,58 секунди. Напишіть програму, у якій користувач вводить свій час, а програма пише чи побив він світовий рекорд.
Не забудьте, що для нецілих чисел python розуміє тільки точку, а не кому (9.58, а не 9,58)!
2: Перед вами таблиця з нормативами з плавання. Напишіть програму, яка визначає розряд спортсмена в залежності від часу, протягом якого він проплив доріжку
Вид | МС майстер спорту | КМС (кандидат в майстри спорту) | I(юнацький) | II(юнацький) | III(юнацький) |
50 м (вільний стиль) | 22,65 секунди | 23,40 секунди | 35,25 секунди | 45,25 секунди | 55,25 секунди |
3: Тріатлон – це вид спорту, в якому змагаються в трьох дисциплінах: біг, плавання і їзда на велосипеді. Команда з тріатлону тренується по сезонах. Взимку тренується в плаванні, навесні – в бігу, влітку у них канікули, а восени вони їздять на велосипеді. При цьому тренування у команди з понеділка по четвер, а з пт по вс – вихідні.
Напиши програму, яка визначає чи будуть тренуватися хлопці й дівчата в цей день і місяць і яким видом спорту займатись.
На вхід приймаємо номер місяця і день тижня (пн, вт, ср …).
Приклад початку програми:
month = int(input('Введи місяць'))
day = input('Введи день(пн,вт ...)')
Помилки в програмуванні – це прекрасно, з кожною виправленою помилкою ви стаєте кращим програмістом😎.
Готові до наступних кроків ? Тисніть тут, щоб подивитися список уроків.