Coding for KidsCoding for Kids
Niveluri CreativeProvocăriGhid pentru Profesori
Votează pentru funcții
Curs Avansat de Dezvoltare Python
Capitolul
>
Nivel

Module Matematice
Introducere la Modulul de Matematică

Obiectiv

Verifică actele de proprietate și limitele terenului la fermă, verifică și calculează cifrele folosind funcțiile modulului Math.

În biroul situat la marginea clădirii principale se află un dosar cu planuri vechi ale clădirii și acte de proprietate. Se planifică extinderea fermei spre est, însă este important să pui toate documentele în ordine înainte de a decide să analizezi orice planuri de construcție. Acest lucru se va realiza folosind modulul math din python.

import math

La fel ca modulul de statistici înaintea lui, modulul math are o colecție de funcții matematice pe care le putem folosi pentru a extinde biblioteca încorporată a python:

  • math.isnan(): Verifică dacă valoarea introdusă nu este un număr

  • math.isinf(): Verifică dacă valoarea introdusă este un număr infinit

  • math.isfinite(): Verifică dacă valoarea introdusă este finită

  • math.prod(): Înmulțește toate argumentele adăugate

  • math.pow(): Primește două argumente și returnează valoarea primului argument ridicată la puterea celui de-al doilea argument.

  • math.trunc(): Trunchiază argumentul furnizat, eliminând zecimalele dintr-un număr cu virgulă mobilă, transformându-l într-un număr întreg. (Nu rotunjește, doar elimină)

  • math.copysign(): Primește două argumente, copiază semnul (-, +) de la al doilea argument și îl aplică primului.

  • math.factorial(): Primește un argument și calculează produsul tuturor numerelor de la acel număr până la 1. De exemplu, dacă valoarea este 5, se efectuează: 5 x 4 x 3 x 2 x 1 și se produce un rezultat.

Vom folosi aceste funcții pentru a revizui și nota datele în vederea pregătirii proiectelor de dezvoltare. Există trei constante de listă care conțin scheme pentru terenul agricol, denumite: red_schematics, green_schematics, blue_schematics. Aceste scheme conțin valori nenumerice și nefolosibile, folosește funcțiile matematicii pentru a identifica elementele, găsește datele utilizabile ca să le putem nota.

Primul pas: mergi la semnul X întunecat deasupra covorului roșu și folosește un ciclu pentru a parcurge elementele constantei de listă red_schematics pentru a identifica elementele utilizabile.

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)

Ciclul va parcurge toate elementele din listă, funcția math.isnan() va identifica intrările nenumerice, iar math.isinf() va identifica valorile infinite ce nu pot fi folosite pentru colectarea datelor. Creează o nouă listă numită red_values și folosește o list comprehension pentru a elimina elementele nedorite prin utilizarea funcției math.isfinite() ca filtru, astfel: red_values = [x for x in red_schematics if math.isfinite(float(x))].

Adaugă apoi toate numerele împreună folosind funcția math.prod() pentru a aduna toate elementele din listă, astfel: red_values = math.prod(red_values).

Aplică același proces de filtrare pentru semnele X întunecate deasupra covorului verde și albastru, folosind constantele de listă green_schematics și blue_schematics și consolidând elementele în liste numite green_values și blue_values. Mergi la semnul X auriu, înfruntă biroul și folosește funcția write() predefinită în editor pentru a nota datele schemei utilizabile. Odată ce ai pus totul laolaltă, mergi la semnul X luminos și folosește funcția open() pentru a accesa următoarea încăpere.

Odată ajuns în următoarea încăpere, vei găsi câteva birouri cu unele acte de proprietate și coordonate. Este o idee bună să notezi datele înainte de a trece la verificarea noilor adăugiri la fermă în zona următoare, de peste pod. Mergi la semnul X luminos din fața lăzii cu hărți de lângă primul birou, folosește funcția read() pentru a obține datele indexului pentru actele de proprietate.

Mergi la semnul X întunecat deasupra covorului violet, creează o variabilă numită purple_data și folosește funcția math.pow() pentru a înmulți datele pe care le-ai obținut pentru a obține informații despre coordonate. Ridică indexul la puterea de 3, astfel: purple_data = math.pow( -index data- , 3 ), asigură-te că adaugi datele indexului pe care le-ai citit anterior. Folosește math.trunc() pentru a elimina partea zecimală a variabilei, astfel: purple_data = math.trunc(purple_data). După ce ai terminat, la semnul X, folosește funcția write() predefinită din editor cu purple_data pentru a nota datele stocate în variabilă.

Pentru a finaliza, mergi la semnul X luminos din fața dulapului de dosare aflat lângă biroul superior. Folosește funcția read() pentru a obține din nou datele index, deoarece aceste date trebuie "dezvăluite" pentru a oferi mai multe informații despre coordonatele terenului. Creează o variabilă numită white_data pentru a stoca valoarea datelor găsite în fișier și o variabilă numită sign pentru a stoca semnul numeric găsit în fișier. Mergi la semnul X întunecat deasupra covorului alb și folosește funcția math.copysign() utilizând cele două variabile create ca argumente și atribuie rezultatul lui white_data, astfel: white_data = math.copysign(white_data,sign).

După ce ai terminat, folosește math.factorial() cu white_data pentru a înmulți indexul, convertește white_data la un număr întreg și utilizează-l cu funcția, astfel: white_data = math.factorial(int(white_data)). Folosește funcția write() predefinită pentru a nota white_data și astfel vei finaliza nivelul.

Carte de Cod