Python · Синтаксис · Початковий рівень
Умовні оператори
Практичні вправи щодо умовних операторів у Python: порівняння чисел, перевірка діапазонів, робота з str, паролями, відсотками та базовою логікою if, elif, else.
Короткий вступ до теми та пояснення перед вправами (вправи нижче):
Порівняння значень і комбінування умов
#Читання вводу і поширені патерни
#Швидкий довідник: умови
#Вправи:
Перевірка знака числа.
#Напишіть програму, яка приймає число і виводить, додатне воно, від’ємне чи дорівнює нулю.
number = float(input("Введіть число: "))
Рішення
number = float(input("Введіть число: "))
if number > 0:
print("Число додатне")
elif number < 0:
print("Число від’ємне")
else:
print("Число дорівнює нулю")
# або так можна: спочатку підготувати повідомлення, а потім один раз його вивести
number = float(input("Введіть число: "))
if number > 0:
result = "Число додатне"
elif number < 0:
result = "Число від’ємне"
else:
result = "Число дорівнює нулю"
print(result)
Вікова категорія.
#Програма приймає вік користувача і виводить: "Дитина" (до 12), "Підліток" (13–17), "Дорослий" (18 і старше).
age = int(input("Введіть вік: "))
Рішення
age = int(input("Введіть вік: "))
if age <= 12:
print("Дитина")
elif age <= 17:
print("Підліток")
else:
print("Дорослий")
# другий варіант: межі можна записати явно
age = int(input("Введіть вік: "))
if age < 13:
print("Дитина")
elif age >= 13 and age <= 17:
print("Підліток")
else:
print("Дорослий")
Більше з двох чисел.
#Користувач вводить два числа. Виведіть більше з них. Якщо вони рівні — виведіть повідомлення "Числа рівні".
a = float(input("Введіть перше число: "))
b = float(input("Введіть друге число: "))
Рішення
a = float(input("Введіть перше число: "))
b = float(input("Введіть друге число: "))
if a > b:
print("Більше число:", a)
elif b > a:
print("Більше число:", b)
else:
print("Числа рівні")
# або так можна, через змінну result
a = float(input("Введіть перше число: "))
b = float(input("Введіть друге число: "))
if a == b:
result = "Числа рівні"
elif a > b:
result = f"Більше число: {a}"
else:
result = f"Більше число: {b}"
print(result)
Температура: холодно, тепло, спекотно.
#Програма приймає температуру і виводить: "Холодно" (менше 10), "Тепло" (10–24), "Спекотно" (25 і більше).
temp = float(input("Введіть температуру: "))
Рішення
temp = float(input("Введіть температуру: "))
if temp < 10:
print("Холодно")
elif temp <= 24:
print("Тепло")
else:
print("Спекотно")
Перевірка парності числа.
#Користувач вводить число. Перевірте, чи є воно парним.
num = int(input("Введіть число: "))
Рішення
num = int(input("Введіть число: "))
if num % 2 == 0:
print("Число парне")
else:
print("Число непарне")
# або так можна: зберегти перевірку в окрему змінну
num = int(input("Введіть число: "))
is_even = num % 2 == 0
if is_even:
print("Число парне")
else:
print("Число непарне")
Перевірка довжини пароля.
#Користувач вводить пароль. Якщо довжина пароля менша за 6 символів — виведіть "Пароль занадто короткий", інакше — "Пароль прийнято".
password = input("Введіть пароль: ")
Рішення
password = input("Введіть пароль: ")
if len(password) < 6:
print("Пароль занадто короткий")
else:
print("Пароль прийнято")
Оцінка за шкалою A-F.
#Користувач вводить оцінку від 0 до 100. Виведіть: A (90–100), B (80–89), C (70–79), D (60–69), F (менше 60).
score = int(input("Введіть оцінку: "))
Рішення
score = int(input("Введіть оцінку: "))
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
elif score >= 60:
print("D")
else:
print("F")
# або так можна: йти від менших меж до більших
score = int(input("Введіть оцінку: "))
if score < 60:
print("F")
elif score < 70:
print("D")
elif score < 80:
print("C")
elif score < 90:
print("B")
else:
print("A")
Кратність двох чисел.
#Користувач вводить два числа. Перевірте, чи кратне перше число другому.
a = float(input("Введіть перше число: "))
b = float(input("Введіть друге число: "))
Рішення
a = float(input("Введіть перше число: "))
b = float(input("Введіть друге число: "))
if b == 0:
print("На нуль ділити не можна")
elif a % b == 0:
print("Перше число кратне другому")
else:
print("Перше число не кратне другому")
Округлення в діапазоні 0-100.
#Користувач вводить неціле число. Якщо воно більше 100 або менше 0 — виведіть "Тільки від 0 до 100", інакше округліть його за допомогою round до 2 знаків після крапки.
num = float(input("Введіть число: "))
Рішення
num = float(input("Введіть число: "))
if num < 0 or num > 100:
print("Тільки від 0 до 100")
else:
print(round(num, 2))
# або так можна: перевірку діапазону зберегти у змінну
num = float(input("Введіть число: "))
in_range = 0 <= num <= 100
if in_range:
print(round(num, 2))
else:
print("Тільки від 0 до 100")
Довгий чи короткий рядок.
#Користувач вводить рядок. Якщо довжина рядка більша за 10 символів — виведіть "Довгий рядок", інакше — "Короткий рядок".
text = input("Введіть рядок: ")
Рішення
text = input("Введіть рядок: ")
if len(text) > 10:
print("Довгий рядок")
else:
print("Короткий рядок")
# або так можна через змінну message
text = input("Введіть рядок: ")
if len(text) > 10:
message = "Довгий рядок"
else:
message = "Короткий рядок"
print(message)
Відсоток від числа.
#Користувач вводить a і b. Порахуйте скільки відсотків a становить від b. Формула відсотків: (a/b)*100.
a = float(input("Частина: "))
b = float(input("Від цілого: "))
Рішення
a = float(input("Частина: "))
b = float(input("Від цілого: "))
if b == 0:
print("На нуль ділити не можна! І частини від 0 не існує.")
else:
result = (a / b) * 100
result = round(result, 2)
print(str(result) + "%")
# або так можна: округлити одразу при створенні result
a = float(input("Частина: "))
b = float(input("Від цілого: "))
if b == 0:
print("На нуль ділити не можна! І частини від 0 не існує.")
else:
result = round((a / b) * 100, 2)
print(str(result) + "%")
Округлення до потрібного знака.
#Користувач вводить не ціле число, наприклад 5.2564494, і вводить до якого знака після коми (крапки) його округлити. Зробіть обчислення.
num = float(input("Введіть число: "))
rounding = int(input("До якого знака округляти: "))
Рішення
num = float(input("Введіть число: "))
rounding = int(input("До якого знака округляти: "))
if rounding < 0:
print("Значення для кількості знаків після крапки не може бути меншим за 0.")
# Хоча якщо передати в round від’ємне число в параметр до якого знака округляти,
# то результатом округлення буде просто 0. Так спеціально зроблено, щоб не було помилок.
else:
print(round(num, rounding))
Вибір int або float.
#Користувач вводить число, перевірте, якщо у введеному є крапка, то сконвертуйте його у float, якщо крапки немає — у int.
num = input("Введіть число: ")
Рішення
num = input("Введіть число: ")
if "." in num:
num = float(num)
else:
num = int(num)
print(num)
# другий варіант: можна перевірити і кому, якщо користувач вводить число у такому форматі
num = input("Введіть число: ")
if "." in num or "," in num:
num = num.replace(",", ".")
num = float(num)
else:
num = int(num)
print(num)
Ділення без помилки нуля.
#Потрібно поділити a на b. Якщо b дорівнює 0, то виведіть повідомлення, що на 0 ділити не можна. А якщо все ОК, то порахуйте!
a = float(input("Введіть число: "))
b = float(input("Введіть 2-е число: "))
Рішення
a = float(input("Введіть число: "))
b = float(input("Введіть 2-е число: "))
if b == 0:
print("На нуль ділити не можна! Навіть якщо дуже хочеться!")
else:
print("Результат:", a / b)
# АБО
if b == 0:
print("На нуль ділити не можна! Навіть якщо дуже хочеться!")
else:
result = a / b
print("Результат:", result)
# АБО
if b == 0:
print("На нуль ділити не можна! Навіть якщо дуже хочеться!")
else:
result = a / b
print("Результат:", round(result, 2))
# АБО
if b == 0:
result = "На нуль ділити не можна! Навіть якщо дуже хочеться!"
else:
result = round(a / b, 2)
print("Результат:", result)
# АБО інші зручні у цій ситуації варіанти, навіть так:
if b == 0:
message = "На нуль ділити не можна! Помилка операції -"
result = False
else:
message = "Результат:"
result = round(a / b, 2)
print(message, result)
Анкета імені та прізвища.
#Користувач вводить Ім’я, а потім окремо Прізвище. Давайте спробуємо зробити так, що якщо він введе все правильно, то ми об’єднаємо його Ім’я та Прізвище в один рядок (як один новий об’єкт) і виведемо в термінал. А якщо він помилиться і введе в поле "Ім’я" анкети одразу і своє Ім’я, і Прізвище, то ми виведемо повідомлення: "Уважно заповнюйте анкету!! Це був останній бланк ахахах)))" і програма завершиться. Підказки: 1) Там буде пробіл у рядку, якщо він введе все одразу. 2) Спочатку перевіряйте помилковий варіант, так буде простіше і правильніше.
name = input("Введіть Ім’я: ")
last_name = input("Введіть Прізвище: ")
Рішення
name = input("Введіть Ім’я: ")
last_name = input("Введіть Прізвище: ")
if " " in name:
print("Уважно заповнюйте анкету!! Це був останній бланк ахахах)))")
else:
full_name = name + " " + last_name
print(full_name)
# або більш передбачливо з оператором or:
if " " in name:
print("Уважно заповнюйте анкету!! Це був останній бланк ахахах)))")
elif name == "" or last_name == "":
print("Бланк потрібно заповнити повністю!! (поки що все заново)")
else:
full_name = name + " " + last_name
print(full_name)