Coding for KidsCoding for Kids
Niveles CreativosDesafíosGuía del Maestro
Votar por funciones
Curso Avanzado de Desarrollo en Python
Capítulo
>
Nivel

Módulos de Matemáticas
Introducción al módulo de matemáticas

Objetivo

Revisa las escrituras de la tierra y los límites de la propiedad en la granja, verifica y analiza los números utilizando las funciones del módulo Math.

En la oficina, al final del edificio principal, hay un archivo de planos antiguos del edificio y escrituras de la tierra. Se planea ampliar la granja hacia el este, pero es importante tener toda la documentación en orden antes de decidir revisar cualquier plano de construcción. Esto se hará utilizando el módulo math de python.

import math

Al igual que el módulo de estadísticas anterior, el módulo math tiene una colección de funciones matemáticas que podemos usar para extender la biblioteca incorporada de python:

  • math.isnan(): Verifica si el valor ingresado no es un número

  • math.isinf(): Verifica si el valor ingresado es un número infinito

  • math.isfinite(): Verifica si el valor ingresado es finito

  • math.prod(): Multiplica todos los argumentos que se le agreguen

  • math.pow(): Recibe dos argumentos y retorna el valor del primer argumento elevado a la potencia del segundo argumento.

  • math.trunc(): Trunca el argumento proporcionado, esto elimina el decimal de un número de punto flotante, convirtiéndolo en un número entero. (No redondea, simplemente elimina)

  • math.copysign(): Recibe dos argumentos, copia el signo (-,+) del segundo argumento y lo aplica al primero.

  • math.factorial(): Recibe un argumento y multiplica ese número contando hacia atrás hasta 1. Por ejemplo, si el valor es 5 se realiza: 5 x 4 x 3 x 2 x 1 y se produce un resultado.

Utilizaremos estas funciones para revisar y registrar algunos datos con el fin de preparar los proyectos de desarrollo. Hay tres constantes de listas que contienen esquemas para la granja, llamados: red_schematics, green_schematics, blue_schematics. Estos esquemas tienen valores no numéricos e inutilizables registrados; utiliza las funciones matemáticas para identificar los elementos, encontrar los datos utilizables y así poder registrarlos.

Primero, camina hasta la marca X oscura sobre la alfombra roja y usa un ciclo para recorrer los elementos de la constante de lista red_schematics con el fin de identificar los elementos utilizables.

for x in red_schematics: y = math.isnan (float(x)) if y == True: player.speak("Not a Number") else: y = math.isinf(float(x)) if y == True: player.speak("Is infinite") else: player.speak(x)

El ciclo recorrerá todos los elementos de la lista; la función math.isnan() identificará las entradas no numéricas, y math.isinf() identificará los valores infinitos que no pueden usarse para la recopilación de datos. Crea una nueva lista llamada red_values y utiliza una comprensión de listas para eliminar los elementos no deseados aplicando math.isfinite() como filtro, de esta forma: red_values = [x for x in red_schematics if math.isfinite(float(x))].

Luego, suma todos los números utilizando la función math.prod() para sumar todos los ítems de la lista, de la siguiente manera: red_values = math.prod(red_values).

Realiza el mismo proceso de filtrado en las marcas X oscuras sobre las alfombras verde y azul, utilizando las constantes de lista green_schematics y blue_schematics y consolidando los elementos en listas llamadas green_values y blue_values. Camina hacia la marca X dorada, enfrenta el escritorio y utiliza la función write() pre-escrita en el editor para registrar los datos del esquema utilizables. Una vez que hayas reunido todo, camina hacia la marca X clara y usa la función open() para acceder a la siguiente sala.

Una vez en la siguiente sala, hay un par de escritorios con algunas escrituras de la tierra y coordenadas. Es una buena idea registrar algunos datos antes de pasar a revisar las nuevas adiciones a la granja en el siguiente área al otro lado del puente. Camina hacia la marca X clara frente a la caja con mapas junto al primer escritorio y utiliza la función read() para adquirir datos índice de las escrituras de la tierra.

Camina hacia la marca X oscura sobre la alfombra morada, crea una variable llamada purple_data y utiliza la función math.pow() para multiplicar los datos que adquiriste y obtener la información de las coordenadas. Eleva el índice a la potencia de 3, de la siguiente manera: purple_data = math.pow( -index data- , 3 ), asegurándote de sumar los datos índice que leíste anteriormente. Utiliza math.trunc() para eliminar los datos decimales de la variable, de esta forma: purple_data = math.trunc(purple_data). Una vez hecho, en la marca X, usa la función write() pre-escrita en el editor con purple_data para registrar los datos almacenados en la variable.

Para finalizar, camina hacia la marca X clara frente al archivador junto al escritorio superior. Utiliza la función read() para adquirir datos índice una vez más; estos datos deben ser desempaquetados para revelar más información de coordenadas de la tierra. Crea una variable llamada white_data para almacenar el valor de datos encontrado en el archivo y una variable llamada sign para almacenar el número de signo encontrado en el archivo. Camina hacia la marca X oscura sobre la alfombra blanca y utiliza la función math.copysign() con las dos variables que creaste como argumentos, asignando el valor a white_data, de esta forma: white_data = math.copysign(white_data,sign).

Una vez hecho, con white_data, utiliza math.factorial() para multiplicar el índice, convierte white_data a un entero y úsalo con la función, de la siguiente manera: white_data = math.factorial(int(white_data)). Utiliza la función write() pre-escrita para registrar white_data y así completar el nivel.

Libro de Código