
Це фрагмент книги Python з нуля, яка допоможе вам навчитися програмуванню з нуля. Ви можете знайти його на Allegro, Empik та в інтернет-книгарнях.
- ми хочемо показувати рекламу лише власникам безкоштовних облікових записів;
- ми хочемо приховати повідомлення, якщо воно надійшло від заблокованої особи;
- якщо публікація рекламується, вона повинна мати відповідний значок "реклама".
if [^104_1], після чого ставимо умову (англ. condition). Умова — це вираз [^104_2], який повертає логічне значення True або False. Її можна створити, наприклад, за допомогою символу порівняння ==, < або !=. Після умови ставимо двокрапку : і з наступного рядка вказуємо інструкції, які повинні бути виконані, якщо умова виконується (повертає значення True). Ці інструкції називаються тілом умови. Перед інструкціями в тілі слід відступити чотири пробіли. Завдяки цьому відступу Python відрізнятиме інструкції від решти коду. Якщо умова не виконується (повертає False), інструкції не виконуватимуться.
if True: print("Це виведеться") # Це виведеться if False: print("А це ні") tweet_type = "promotional" tweet_owner = "marcinmoskala" your_key = "yourname" if tweet_type == "promotional": print("Реклама") # Реклама if tweet_owner == your_key: # False, # оскільки "marcinmoskala" не дорівнює "yourname" print("Твій твіт") # Виведеться: # Це виведеться # Реклама
if False: print("A") print("B")
print("A") стоїть в операторі if, умова якого не виконується. Але звідки ми знаємо, що print("A") входить у тіло цієї умови, а print("B") ні? Саме завдяки відступу.if weekday == ‘friday’: print("Вечірка!")
is_logged = True is_admin = False if is_logged: print("Користувач увійшов") if is_admin: print("Адміністратор") # Виведеться: # Користувач увійшов
Довгий період велися дискусії про те, як робити відступи: за допомогою пробілів чи знаку табуляції. Сьогодні в кодуванні пробіли є стандартом, але в деяких проєктах досі можна зустріти знаки табуляції. В будь-якому випадку ніколи не можна змішувати ці два варіанти в одному проєкті.
pass. Це ключове слово не виконує жодної операції, але має бути введене, щоби наш код працював. Це також корисна інформація для читача цього коду: вона повідомляє, що тіло умови навмисно залишене порожнім.if is_logged: pass
pass в кінцевому коді. Однак це корисно знати під час роботи, наприклад, коли ми хочемо спершу зосередитися на написанні умови, а потім — на її тілі. Ключове слово pass також використовується, коли ми хочемо залишити порожнім тіло функції else, elif, циклу for і в багатьох інших структурах, які ми обговоримо в цій книзі пізніше.- виведе "З повагою", якщо змінна
is_importantмає значенняTrue; - виведе "Вітаю";
- виведе "Пані", якщо змінна
genderмає значення "female"; - виведе "Пане", якщо змінна
genderмає значення "male".
print, а потім подумай, як зібрати їх усі разом і записати в один рядок.is_important (логічне значення True/False) і gender (значення стрінга "male", "female" або інше).
tweet_type = "standard" if tweet_type == "promotional": print("Реклама") else: print("Звичайний") # Результат той самий, якби ми написали: if tweet_type == "promotional": print("Реклама") if tweet_type != "promotional": print("Звичайний")
tweet_type = "standard" if tweet_type == "promotional": label = "Реклама" else: label = "Звичайний" print(label) # Звичайний
label завжди матиме певне значення: "Реклама" або "Звичайний".
tweet_type:- "promotional" означає твіт, який рекламується;
- "followed" означає твіт із профілю, за яким користувач стежить;
- "own" означає власний твіт користувача, який увійшов у систему.
if tweet_type == "promotional": print("Реклама") elif tweet_type == "followed": print("Звичайний") elif tweet_type == "own": print("Власний") else: print("Інший") # Те ж саме, що if tweet_type == "promotional": print("Реклама") else: if tweet_type == "followed": print("Звичайний") else: if tweet_type == "own": print("Власний") else: print("Інший")
Альтернативою є використання match-case, представленого у версії 3.10, яку я вирішив не розглядати в цій книзі. Зацікавленим рекомендую дізнатися про цей спосіб більше з інших джерел.
tweet_type буде "promotional", буде виведено текст "Реклама". Якщо значення дорівнюватиме "followed", буде виведено "Звичайний". Якщо воно дорівнюватиме "own", буде виведено "Власний". Якщо жодне з вищезазначених не відповідатиме дійсності —"Інший".percent буде 95 або більше. Другий — коли значення буде 80 або більше, але менше ніж 95. Третій — коли воно буде 50 або більше та менше ніж 80. Натомість останній — для значень до 50. У зв’язку з цим ми ніколи не побачимо більше однієї відповіді одночасно.print("Чи це точно?") if percent >= 95: print("На 100 %") elif percent >= 80: print("Радше так") elif percent >= 50: print("Якось так") else: print("Ееее")
- якщо змінна
coffee_finishedбудеFalse, виведе "П’ю каву"; - якщо змінна
days_until_deadlineменше 2, виведе "Працюю"; - в іншому випадку виведе "Вчуся програмувати!".
coffee_finished (логічне значення True/False) і days_until_deadline (числове значення).user_name і user_age та три фрагменти коду. Для кожної пари дай відповідь на запитання: як буде поводитися код для конкретних значень змінної? Всього дай 12 відповідей: для кожної комбінації варіантів і коду.user_name = "Міхал" user_age = 31
user_name = "Голова Марек" user_age = 61
user_name = "Павел" user_age = 10
user_name = "" user_age = 14
if user_name == "Голова Марек": print("Вітаємо, Пане Голово") if user_name != "": print("Привіт, " + user_name) if user_age < 18: print("Може, цукерку?") if user_age >= 18: print("Може, щось вип’єте?")
if user_name == "Голова Марек": print("Вітаємо, Пане Голово") else: print("Привіт, " + user_name) if user_age < 18: print("Може, цукерку?") else: print("Може, щось вип’єте?")
if user_name == "Голова Марек": print("Вітаємо, Пане Голово") elif user_name != "": print("Привіт, " + user_name) if user_age <= 10: print("Категорія: Діти") elif user_age <= 20: print("Категорія: Молодь") elif user_age <= 60: print("Категорія: Дорослі") else: print("Категорія: Старші")
[^104_2]: Див. Словник в самому кінці книги.
[^104_3]: Слово "else" можна перекласти українською як "в іншому випадку".
