Coding for KidsCoding for Kids
Креативні РівніВикликиПосібник для Вчителів
Голосувати за функції
Поглиблений курс розробки на Python
Розділ
>
Рівень

Математичні модулі
Розширений модуль математики

Мета

Обчисліть нові земельні ділянки ферми, використовуючи більше функцій, імпортованих з модуля math.

Через міст анекс має деякі офіси, що використовуються для обстеження незареєстрованої землі, яка об'єднує дві різні частини ферми. Тут ми знайдемо деякі розміри та вимірювання земель, було б доцільно їх відсортувати та задокументувати дані. Це можна зробити, використовуючи модуль math. На цьому рівні нам представлять новий набір його функцій, які ми можемо застосувати для обробки даних. Ви використовуєте той же import math та math. перед функціями для використання цього набору:

  • math.radians(): Перетворює градуси на радіани/кути.
  • math.floor(): Округлює число вниз до найближчого цілого.
  • math.ceil(): Округлює число вгору до наступного цілого.
  • math.atan2(): Повертає арктангенс між двома числами в радіанах.
  • math.isclose(): Перевіряє, чи два числа близькі один до одного, повертає true/false.
  • math.fsum(): Складає дробові (десяткові) числа зі списку або ітерованого об’єкта.
  • math.dist(): Обчислює відстань між двома точками, значення мають бути у формі списків або ітерованих об’єктів.

Почніть збір сирих даних з діаграм, пройшовши до легкої X, що позначена над червоним та синім килимом. Використовуйте функцію read() для визначення сирих розмірів, необхідних для зняття вимірів. Ці вимірювання вже збережені у чотирьох константах з назвами: red_x, red_y, blue_x та blue_y.

Після того, як обидва набори даних будуть визначені, пройдіть до темної X над оранжевим килимом і підійдіть до столу. Використовуйте math.radians() та math.ceil(), щоб перетворити змінні blue_x та blue_y у радіани та округлити їх вгору. Використовуйте float(), щоб переконатися, що константи є десятковими числами і можуть бути змінені. Наприклад, для змінної blue_x: спочатку перетворіть у радіани за допомогою blue_x = math.radians(float(blue_x)) і потім округліть значення за допомогою blue_x = math.ceil(float(blue_x)). Зробіть те ж саме для blue_y на цьому X, а після цього використовуйте заздалегідь написану функцію write() та додайте змінні blue_x і blue_y для занесення їх у діаграму.

Пройдіть до темної X над зеленим килимом і використовуйте math.radians() та math.floor(), щоб перетворити змінні red_x та red_y у радіани та округлити їх вниз. Наприклад, для змінної red_x: перетворіть у радіани за допомогою red_x = math.radians(red_x) і округліть значення за допомогою blue_x = math.floor(red_x). Зробіть те ж саме для red_y на цьому X, а після цього використовуйте заздалегідь написану функцію write() та додайте змінні red_x і red_y для занесення їх у діаграму.

Пройдіть до золотого X і підійдіть до столу, тут ми створимо дві нові змінні: data_a та data_b. У них ми збережемо арктангенси кожного набору, використовуючи функцію math.atan2. Для data_a використовуйте змінні blue_x та blue_y для виклику функції, ось так: data_a = math.atan2(blue_x,blue_y). Для data_b зробіть те ж саме, але використовуючи red_x та red_y. Після цього використовуйте заздалегідь написану функцію write() та додайте змінні data_a і data_b для занесення їх у діаграму.

Після того, як нижні столи оброблені, пройдіть до темної X над фіолетовим килимом, створіть змінну з назвою comparison і використайте її з функцією math.isclose(), використовуючи data_a та data_b як аргументи, ось так: comparison = math.isclose(data_a, data_b). Використовуйте заздалегідь написану функцію write() із змінною comparison на цьому X.

Перейдіть до X над білим килимом, створіть список з назвою data_list і додайте в нього data_a та data_b у цьому порядку. Створіть змінну з назвою total і використайте функцію math.fsum() зі списком data_list як аргумент, ось так: total = math.fsum(data_list). Використайте змінну total із заздалегідь написаною функцією write() на цьому X.

Перейдіть до темної X над жовтим килимом і підійдіть до столу, перетворіть data_a та data_b у окремі значення списку, наприклад, для data_a: data_a = [data_a]. Зробіть те ж саме для data_b, щоб перетворити обидві змінні в ітеровані об’єкти для використання з функцією math.dist(). Створіть змінну з назвою distance і використайте її для збереження значення, що повертається функцією math.dist(), використовуючи data_a та data_b як аргументи. Використайте змінну distance із заздалегідь написаною функцією write(), щоб завершити рівень.

Книга Коду