a = input("Введіть перше число: ")
b = input("Введіть друге число: ")
print(a + b)Practice Session 2
🧊 План заняття: Верхівка айсберга
На сьогоднішньому занятті ми спробуємо змусити комп’ютер підкорятися нашим наказам, пірнемо в світ математичних операцій та напишемо наші перші програми - і все це завдяки неймовірній мові програмування Python.
Детальніше про наш план:
- Цілі числа
- 👨💻 Live Coding: Конвертація часу
- 🛠 Guided Practice: Reverse Engineering
- Дійсні числа
- 👨💻 Live Coding: Рух тіла
- 🛠 Guided Practice: Евклідова відстань
- Самостійна робота
- Проблема з яблуками
- Гіпотенуза трикутника
- Сума цифр
- 🐛 Bug Hunter
📝 Operations Cheat Sheet
| Операція | Опис | Приклад | Результат |
|---|---|---|---|
* |
Множення | 2 * 3 |
6 |
** |
Піднесення до степеня | 2 ** 3 |
8 |
/ |
Ділення (завжди float) | 7 / 2 |
3.5 |
// |
Цілочисельне ділення | 7 // 2 |
3 |
% |
Остача від ділення | 7 % 2 |
1 |
🔢 Цілі числа
Перш ніж ми перейдемо до вирішення певних проблем, маємо поглянти на типову помилку початківців у програмуванні.
Чому запропонований код не виконається так, як очікується?
👨💻 Live Coding: Конвертація часу
Контекст: Ми розробляємо підсистему для роботи з сервером. Час роботи, який повертає сервер подано в секундах. Наша задача - перевести кількість секунд у зрозумілий для користувача формат: години, хвилини, секунди.
Вхідні дані: Кількість секунд s = 5490.
Вихідні дані: Кількість годин, хвилин, та секунд.
🛠 Guided Practice: Reverse Engineering
Контекст: Тепер, припустимо, що користувач хоче ввести свій час, та передати його на сервер. Він користується форматом години, хвилини, секунди. Оскільки сервер розуміє тільки час в секундах, нам потрібно перевести наданий користувачем час у секунди.
Вхідні дані: Ввід від користувача hours=int(input()), minutes=int(input()), seconds=int(input()).
Вихідні дані: Загальний час у секундах
💠 Дійсні числа
На цьому етапі, в гру вступає, її величність, floating point, яка дозволяє нам розширити кількість можливих чисел в нескінченну кількість разів (майже). Але для того, аби оперувати цими числами, на відміну від цілих чисел, ми будемо користуватись типом float.
👨💻 Live Coding: Рух тіла
Контекст: Ми працюємо з обчисленням руху об’єкту в комп’ютерній грі. Ми маємо машину, яка рухається з прискоренням, та знаємо початкову швидкість \(v_0\), прискорення \(a\) та час \(t\). Наша задача - знайти зміщення \(S\) за наступною формулою:
\[S = v_0 t + \frac{at^2}{2}\]
Вхідні дані: Початкова швидкість v = 10, a=20,t=10`.
Вихідні дані: Зміщення
🛠 Guided Practice: Евклідова відстань
Контекст: Працюючи над тією ж відеогрою, перед нами постала задача вирахувати відстань між спостерігачем і ціллю. Ми знаємо координати спостерігача \(A(x_1, y_1)\) та цілі \(B(x_2, y_2)\). Для цього потрібно скористатись наступною формулою: \[ d = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2} \]
Вхідні дані: x1 = 10, x2=5, y1 = 20, y2 = 3
Вихідні дані: Відстань d
Для вирішення даної задачі маєте скористатися оператором піднесення до степеня **
Самойтійна робота
Проблема з яблуками (Integers)
\(N\) школярів ділять \(K\) яблук порівну, залишок, що не ділиться, залишається у кошику.
Вхідні дані: Два числа \(N\) і \(K\).
Вихідні дані: Два числа: скільки яблук дісталося кожному студенту і скільки залишилось у кошику.
Гіпотенуза трикутника (Floats)
Дано два катети прямокутного трикутника. Знайдіть гіпотенузу.
Вхідні дані: Два числа \(a\) і \(b\).
Вихідні дані: Довжина гіпотенузи.
Сума цифр
Дано трицифрове число (наприклад, 179). Знайдіть суму його цифр.
Не можна використовувати цикли або перетворення в рядок.
Для вирішення даної задачі маєте скористатися оператороми цілочисельного ділення та ділення з остачею аби отримати та відкинути останню цифру.
🐛 Bug Hunter
І нарешті, остання частина нашої практики - Bug Hunter! Погляньте на фрагменти коду, та поясніть, чому вони не виконаються, або виконаються не так, як очікується.
№1
width = input("Введіть ширину: ")
height = input("Введіть висоту: ")
area = width * height
print(f"Площа: {area}")№2
num1 = 10
num2 = 20
average = num1 + num2 / 2
print(f"Середнє значення: {average}")№3
R = 5
pi = 3.14159
length = 2 * pi * r
print(length)№4
x = 10
y = 0,5
result = x + y
print(result)