Cours avancé de développement Python
Chapitre
>
Niveau
Modules mathématiques
Module d'opérateurs
Objectif
Vérifier et allouer les nouvelles commandes de matériaux pour la construction de terres agricoles en utilisant le module operator.
L'étage supérieur de l'annexe comporte plusieurs bureaux qui conservent les registres de l'inventaire et des commandes des matériaux de construction nécessaires pour le développement des nouvelles terres. Il existe une variété d'outils différents qui peuvent être utilisés pour vérifier et calculer les matériaux afin qu'ils soient utilisés pour la construction, en plus du module math et du module de statistiques, nous pouvons utiliser le module operator.
Ce module, import operator, peut être utilisé pour simplifier les calculs d'opérateurs et les emballer commodément dans des fonctions. Vous pouvez utiliser ces fonctions à la fois pour l'optimisation ainsi que pour produire des valeurs sans avoir besoin de créer un objet pour stocker les valeurs des calculs.
operators.eq(): Prend deux arguments, vérifie si les arguments sont égaux.operators.lt(): Prend deux arguments, vérifie si le premier argument est inférieur au second.operators.gt(): Prend deux arguments, vérifie si le premier argument est supérieur au second.operators.floordiv(): Prend deux arguments, divise le premier argument par le second et applique l'équivalent demath.floor(), en arrondissant le résultat vers le bas.operators.mod(): Prend deux arguments, retourne le reste de la division entre les deux arguments.operators.contains(): Cette fonction est utilisée avec une liste, prend deux (2) arguments, le premier argument est une liste, le second est une valeur que vous souhaitez vérifier si elle est présente dans la liste. Retourne :trueoufalseselon que la valeur est présente ou non.operators.concat(): Prend deux arguments de type liste, combine les deux listes en utilisant une fonction simple, et peut être plus performant que d'autres méthodes.operators.countOf(): Prend deux arguments, une liste et une valeur pour vérifier combien de fois cette valeur est présente dans la liste. Retourne le nombre d'instances de la valeur présente.
Pour commencer, rendez-vous vers la marque X sombre au-dessus des tapis de couleur rouge, bleu et vert. Il y a six (6) constantes : red_order, blue_order, green_order, qui représentent les commandes de matériaux et : red_req, blue_req, green_req qui représentent la quantité requise pour la construction.
À la marque X sombre au-dessus du tapis rouge, utilisez la fonction read() pour vérifier la quantité requise de matériaux. Créez une variable nommée red_verification et utilisez la fonction operator.eq() avec les constantes red_order et red_req, comme ceci : red_verification = operator.eq(red_order,red_req). Avec la fonction pré-écrite write(), utilisez red_verification pour afficher le résultat.
Pour les marques X bleue et verte, répétez le même processus, utilisez la fonction read() et créez les variables : blue_verification et green_verification. Pour la variable bleue, stockez la valeur de operator.lt() en utilisant les constantes blue_order et blue_req pour vérifier si la commande est inférieure à ce qui est requis. Pour la variable verte, stockez la valeur de operator.gt() en utilisant les constantes green_order et green_req pour vérifier si la commande est supérieure aux matériaux requis. Utilisez les fonctions pré-écrites write() avec les fonctions de vérification respectives correspondant aux tapis colorés.
Ensuite, rendez-vous à la marque X claire et, sur le bureau, utilisez la fonction read() pour vérifier les commandes qui ont déjà été passées et qui sont en route. Dans le livre de commandes, vous trouverez les valeurs de deux constantes variables : main_order et sub_order, ainsi que le nombre de sections dans lesquelles les matériaux doivent être divisés. Après avoir lu le livre de commandes, créez une variable nommée allocations et stockez-y la valeur de operator.floordiv() pour diviser la valeur de main_order par le nombre de sections décrit dans le livre, comme ceci : allocations = operator.floordiv(main_order, -add sections-) cela divise la commande et arrondit le résultat vers le bas. Utilisez la fonction pré-écrite write() avec la variable allocations pour enregistrer le résultat.
Rendez-vous ensuite à la marque X dorée et créez une variable nommée remainder, stockez-y le résultat de operator.mod() et additionnez les constantes main_order et sub_order pour obtenir le reste des deux commandes. Sur le bureau, utilisez la fonction pré-écrite write() et ajoutez la variable remainder pour enregistrer le résultat.
Rendez-vous vers la marque X sombre au-dessus du tapis violet, ici nous vérifierons la livraison des outils nécessaires à la construction. Nous avons deux constantes de listes, delivery_1 et delivery_2, nous vérifierons si les outils ont été livrés lors de la première livraison. Créez une variable nommée tools et stockez-y le résultat de operator.contains(), pour le premier argument, ajoutez la liste delivery_1 et pour le second argument, ajoutez la chaîne de caractères “tools”. Cela permettra de vérifier si les outils sont présents dans la livraison, comme ceci : tools = operator.contains(delivery_1,"tools"). Une fois cela fait, sur le bureau, utilisez la fonction pré-écrite write() avec la variable tools pour enregistrer si les outils ont été livrés avec succès.
Ensuite, il faut vérifier toutes les livraisons, rendez-vous à la marque X sombre au-dessus du tapis blanc et créez une liste nommée materials. Utilisez-la pour stocker la valeur de operator.concat(), en utilisant les listes delivery_1 et delivery_2 comme arguments. Ce que cela fait, c'est fusionner rapidement les deux listes en une seule. Sur le bureau, utilisez la fonction pré-écrite write() avec la variable materials afin de noter tous les matériaux qui ont déjà été livrés pour la construction.
Enfin, rendez-vous à la marque X sombre au-dessus du tapis orange, ici il y a quelques prérequis écrits pour démarrer la construction, l'une des principales indications étant la quantité de bois nécessaire au début en tonnage. Vérifiez combien de bois a été livré dans l'ensemble de la livraison et annoncez-le, utilisez la fonction speak() avec la fonction operator.countOf(). Pour le premier argument, ajoutez la liste materials que vous avez créée suivie de la chaîne de caractères “wood”, cela retournera combien d'instances de bois sont présentes dans la liste materials. Cela illustre comment les fonctions de l'opérateur peuvent être utilisées de manière autonome sans avoir recours à un objet pour le stocker, comme ceci : player.speak(operator.countOf(materials,"wood")). Cela complétera le niveau.