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(), чтобы завершить уровень.

Книга Кода