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 Matemáticos
Módulo de Operadores

Objetivo

Verificar y asignar las nuevas órdenes de materiales de construcción para tierras de cultivo utilizando el módulo operator.

La planta superior del anexo cuenta con algunas oficinas que guardan registros del inventario y de las órdenes de materiales necesarios para el nuevo desarrollo de tierras. Existen una variedad de herramientas que pueden utilizarse para verificar y calcular los materiales de modo que puedan ser usados en la construcción; además de los módulos de matemáticas y estadísticas, podemos utilizar el módulo operator.

Este módulo, import operator, puede utilizarse para simplificar los cálculos de operadores y empaquetarlos convenientemente en funciones. Puedes utilizar estas funciones tanto para la optimización como para producir valores sin necesidad de crear un objeto para almacenar los valores de los cálculos.

  • operators.eq(): Recibe dos argumentos, comprueba si los argumentos son iguales entre sí.
  • operators.lt(): Recibe dos argumentos, verifica si el primer argumento es menor que el segundo.
  • operators.gt(): Recibe dos argumentos, comprueba si el primer argumento es mayor que el segundo.
  • operators.floordiv(): Recibe dos argumentos, divide el primer argumento por el segundo y aplica lo equivalente a math.floor(), redondeando el resultado hacia abajo.
  • operators.mod(): Recibe dos argumentos, devuelve el residuo de la división entre los dos argumentos.
  • operators.contains(): Función que se utiliza con una lista; recibe dos argumentos, el primero es una lista y el segundo es un valor que se desea comprobar si está dentro de la lista. Devuelve: true o false según si el valor está presente o no.
  • operators.concat(): Recibe dos argumentos de tipo lista, combina las dos listas utilizando una única función sencilla, puede ser más rápida que otros métodos.
  • operators.countOf(): Recibe dos argumentos, una lista y un valor para verificar cuántas veces ese valor está presente en la lista. Devuelve el número de instancias en las que el valor está presente.

Para comenzar, camina hacia las marcas X oscuras sobre las alfombras de color rojo, azul y verde. Hay seis (6) constantes: red_order, blue_order, green_order, que son las órdenes de materiales y: red_req, blue_req, green_req, que son las cantidades requeridas necesarias para la construcción.

En la marca X oscura sobre la alfombra roja, utiliza la función read() para comprobar la cantidad requerida de materiales. Crea una variable llamada red_verification y utiliza la función operator.eq() con las constantes red_order y red_req, de la siguiente manera: red_verification = operator.eq(red_order,red_req). Con la función pre-escrita write() utiliza red_verification para mostrar el resultado.

En las marcas X oscuras sobre las alfombras azul y verde, repite el mismo proceso, utiliza la función read() y crea las variables: blue_verification y green_verification. Para la variable azul, almacena el valor de operator.lt() utilizando las constantes blue_order y blue_req para comprobar si la orden es menor que lo requerido. Para la variable verde, almacena el valor de operator.gt() utilizando las constantes green_order y green_req para verificar si la orden es mayor que los materiales requeridos. Utiliza las funciones pre-escritas write() con las respectivas funciones de verificación correspondientes a las alfombras de color.

Luego, camina hacia la marca X clara y, en el escritorio, utiliza la función read() para comprobar las órdenes que ya se han realizado y que están en camino. En el libro de órdenes encontrarás los valores de dos constantes variables: main_order y sub_order, así como la cantidad de secciones en las que deben dividirse los materiales. Después de leer el libro de órdenes, crea una variable llamada allocations y almacena el valor de operator.floordiv() para dividir el valor de main_order por la cantidad de secciones descritas en el libro, de la siguiente manera: allocations = operator.floordiv(main_order, -add sections-). Esto divide la orden y redondea hacia abajo el resultado. Utiliza la función pre-escrita write() con la variable allocations para registrar el resultado.

Camina hacia la marca X dorada y crea una variable llamada remainder; almacena el resultado de operator.mod() y suma ambas constantes main_order y sub_order para obtener el residuo de las dos órdenes. En el escritorio, utiliza la función pre-escrita write() y añade la variable remainder para anotar el resultado.

Dirígete hacia la marca X oscura sobre la alfombra morada, aquí verificaremos si se ha entregado la herramienta necesaria para la construcción. Tenemos dos constantes de listas, delivery_1 y delivery_2; verificaremos si las herramientas fueron entregadas en la primera entrega. Crea una variable llamada tools y almacena el resultado de operator.contains(), para el primer argumento añade la lista delivery_1 y para el segundo argumento añade la cadena “tools”. Esto comprobará si las herramientas están presentes en la entrega, de la siguiente manera: tools = operator.contains(delivery_1,"tools"). Una vez hecho esto, en el escritorio, utiliza la función pre-escrita write() con la variable tools para registrar si las herramientas fueron entregadas con éxito.

A continuación, se comprobarán todas las entregas; dirígete hacia la marca X oscura sobre la alfombra blanca y crea una lista llamada materials. Utilízala para almacenar el valor de operator.concat(), empleando las listas delivery_1 y delivery_2 como argumentos. Esto fusiona rápidamente las dos listas en una sola. En el escritorio, utiliza la función pre-escrita write() con la variable materials para registrar todos los materiales que ya se han entregado para la construcción.

Finalmente, camina hacia la marca X oscura sobre la alfombra naranja; aquí hay algunos requisitos previos escritos para iniciar la construcción, una de las anotaciones principales es la cantidad de madera necesaria al comienzo en toneladas. Comprueba cuánta madera se entregó en la entrega completa y anúnciala; utiliza la función speak() con la función operator.countOf(). Para el primer argumento, añade la lista materials que creaste, seguida de la cadena “wood”; esto devolverá cuántas instancias de madera están presentes en la lista materials. Esto ilustra cómo las funciones de operator se pueden utilizar de forma independiente sin necesidad de usar un objeto para almacenarlas, de la siguiente manera: player.speak(operator.countOf(materials,"wood")). Esto completará el nivel.

Libro de Código