Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível

Módulos Matemáticos
Módulo de Matemática Estendido

Objetivo

Calcule as novas extensões de terra para a fazenda usando mais funções importadas do módulo math.

Atravessando a ponte, o anexo possui alguns escritórios utilizados para fazer a pesquisa da terra não incorporada que une duas partes diferentes da fazenda. Aqui encontraremos algumas dimensões e medições da terra; seria uma boa ideia organizá-las e documentar os dados. Você pode fazer isso utilizando o módulo math. Neste nível, seremos introduzidos a um novo conjunto de funções que podemos usar para processar os dados. Você usará o mesmo import math e math. antes das funções para utilizar este conjunto:

  • math.radians(): Converte graus em radianos/ângulos.
  • math.floor(): Arredonda o número para baixo até um número base.
  • math.ceil(): Arredonda o número para cima até um número maior.
  • math.atan2(): Retorna a tangente inversa entre dois números em radianos.
  • math.isclose(): Verifica se dois números estão próximos um do outro, retornando true/false.
  • math.fsum(): Soma números de ponto flutuante (decimais) juntos a partir de uma lista ou iterável.
  • math.dist(): Verifica a distância entre dois pontos, onde os valores precisam ser listas ou iteráveis.

Inicie a coleta dos dados brutos dos gráficos caminhando em direção à marca de X clara sobre o tapete vermelho e azul. Use a função read() para identificar as dimensões brutas necessárias para realizar as medições. Essas medições já estão armazenadas em quatro constantes de variáveis nomeadas: red_x, red_y, blue_x e blue_y.

Uma vez identificados ambos os conjuntos de dados, caminhe até a marca de X escura sobre o tapete laranja e encare a mesa. Use math.radians() e math.ceil() para converter as variáveis blue_x e blue_y em radianos e arredondá-las para cima. Use float() para garantir que as constantes sejam decimais que possam ser editadas. Por exemplo, para a variável blue_x: converta para radianos com blue_x = math.radians(float(blue_x)) e arredonde o valor com blue_x = math.ceil(float(blue_x)). Faça o mesmo para blue_y nesta marca de X; uma vez concluído, use a função pré-escrita write() e adicione as variáveis blue_x e blue_y para registrá-las.

Caminhe até a marca de X escura sobre o tapete verde e use math.radians() e math.floor() para converter as variáveis red_x e red_y em radianos e arredondá-las para baixo. Por exemplo, para a variável red_x: converta para radianos com red_x = math.radians(red_x) e arredonde o valor com blue_x = math.floor(red_x). Faça o mesmo para red_y nesta marca de X; uma vez concluído, use a função pré-escrita write() e adicione as variáveis red_x e red_y para registrá-las.

Caminhe até a marca de X dourada e encare a mesa; aqui criaremos duas novas variáveis, data_a e data_b. Aqui iremos armazenar as tangentes inversas de cada conjunto, utilizando a função math.atan2. Para data_a usamos as variáveis blue_x e blue_y para alimentar a função, assim: data_a = math.atan2(blue_x,blue_y). Para data_b, faça o mesmo, mas com red_x e red_y. Uma vez concluído, use a função pré-escrita write() e adicione as variáveis data_a e data_b para registrá-las.

Agora que as mesas inferiores foram cuidadas, caminhe até a marca de X escura sobre o tapete roxo, crie uma variável chamada comparison e a utilize com a função math.isclose(), usando data_a e data_b como argumentos, assim: comparison = math.isclose(data_a, data_b). Use a função pré-escrita write() com a variável comparison nesta marca de X.

Mova-se para a marca de X sobre o tapete branco, crie uma lista chamada data_list e adicione data_a e data_b nesta ordem. Crie uma variável chamada total e use a função math.fsum() com data_list como argumento, assim: total = math.fsum(data_list). Use a variável total com a função pré-escrita write() nesta marca de X.

Mova-se para a marca de X escura sobre o tapete amarelo e encare a mesa; converta data_a e data_b em valores individuais de lista. Por exemplo, para data_a faça: data_a = [data_a]. Faça o mesmo para data_b, a fim de converter ambas as variáveis em iteráveis para uso com a função math.dist(). Crie uma variável chamada distance e use-a para armazenar o valor de math.dist(), utilizando data_a e data_b como argumentos. Use a variável distance com a função pré-escrita write() para concluir o nível.

Livro de Código