Coding for KidsCoding for Kids
Kreatív SzintekKihívásokTanári Útmutató
Szavazzon a funkciókra
Fejlett Python fejlesztési tanfolyam
Fejezet
>
Szint

Matematikai modulok
Matematika Modul Bevezető

Célkitűzés

Vizsgáld meg a birtokok okiratait és az ingatlan határvonalait a farmon, ellenőrizd és dolgozd fel a számadatokat a Math Modul függvényeinek használatával.

Az irodában, a főépület legszélső részén található egy archívum, amely régi építési terveket és birtokok okiratait tartalmazza. A tervek szerint a farmot keleten bővítik, de fontos, hogy minden papírmunkát rendezve legyen, mielőtt bármilyen építési tervet megvizsgálsz. Ezt a python math modul segítségével végezzük el.

import math

Ahogy az azt megelőző statisztikai modul is, a math modul egy sor matematikai függvényt tartalmaz, amellyel kibővíthetjük a python beépített könyvtárát:

  • math.isnan(): Ellenőrzi, hogy a bevitt érték nem szám-e

  • math.isinf(): Ellenőrzi, hogy a bevitt érték végtelen szám-e

  • math.isfinite(): Ellenőrzi, hogy a bevitt érték véges-e

  • math.prod(): Összeszorozza az összes megadott argumentumot

  • math.pow(): Két argumentumot fogad, és visszaadja az első argumentum értékét a második argumentum hatványán

  • math.trunc(): Levágja a megadott érték tizedes részét, így a lebegőpontos számot egésszé alakítja. (Nem kerekít, csak eltávolítja)

  • math.copysign(): Két argumentumot fogad, lemásolja a második argumentumból az előjelet (-,+) és alkalmazza az elsőre

  • math.factorial(): Egy argumentumot fogad, és megszorozza a számot a 1-ig visszafelé haladva. Például, ha az érték 5, akkor: 5 x 4 x 3 x 2 x 1, és így adja meg az eredményt.

Ezeket a függvényeket fogjuk használni, hogy átnézzük és rögzítsük az adatokat a fejlesztési projektek előkészítése érdekében. Három listakonstans tartalmazza a farm térképeit, amelyek a következők: red_schematics, green_schematics, blue_schematics. Ezeken a tervrajzokon nem numerikus és használhatatlan értékek szerepelnek, ezért használd a math függvényeket az elemek azonosításához, és keresd meg a használható adatokat, hogy azt rögzíthessük.

Először sétálj a sötét X jelhez a piros szőnyegen, és használj egy ciklust a red_schematics lista elemeinek végigiterálására, hogy azonosítsd a használható elemeket.

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)

A ciklus végigmegy a lista minden elemén; a math.isnan() függvény azonosítja a nem numerikus bejegyzéseket, míg a math.isinf() azokat a végtelen értékeket, amelyeket nem lehet felhasználni az adatgyűjtés céljából. Hozz létre egy új listát red_values néven, és használj list comprehension-t a nem kívánt elemek eltávolítására a math.isfinite() segítségével, így: red_values = [x for x in red_schematics if math.isfinite(float(x))] .

Ezután add össze az értékeket a math.prod() függvénnyel, amely a lista összes elemét összeszorozza, így: red_values = math.prod(red_values) .

Ugyanezt a szűrési folyamatot végezd el a zöld és kék szőnyegeken található sötét X jelű helyeken is, a green_schematics és blue_schematics listakonstansokat használva, és egyesítsd az elemeket green_values illetve blue_values listákba. Sétálj az arany X jelhez, fordulj a pulthoz, és használd a szerkesztőben előre megírt write() függvényt a használható tervrajzadatumok rögzítéséhez. Miután mindent összeraktál, sétálj a világos X jelhez, és használd az open() függvényt a következő szoba eléréséhez.

Amikor belépsz a következő szobába, néhány pultnál birtokok okiratai és koordináták találhatók. Jó ötlet, hogy rögzíts néhány adatot, mielőtt áttérnél a farm új kiegészítéseinek ellenőrzésére a híd túloldalán lévő következő területen. Sétálj a világos X jelhez az első pult melletti, térképekkel teli láda előtt, és használd a read() függvényt a birtokok okirataihoz tartozó indexadatok megszerzéséhez.

Sétálj a sötét X jelhez a lila szőnyegen, hozz létre egy purple_data nevű változót, és használd a math.pow() függvényt az eddig megszerzett adatok koordináta információvá alakításához. Emeld az indexet a 3 hatványára, így: purple_data = math.pow( -index data- , 3 ), ügyelve rá, hogy hozzáadd az előzőleg beolvasott indexadatot. Használd a math.trunc() függvényt a változó tizedesrészének eltávolításához, így: purple_data = math.trunc(purple_data). Ha elkészültél, a megadott X jel mellett használd az előre megírt write() függvényt a purple_data érték rögzítéséhez.

A végső lépésként sétálj a világos X jelhez a legfelső pult melletti iratrendező szekrény előtt. Használd újra a read() függvényt az indexadatok megszerzéséhez, ugyanis ezeknek az adatoknak ki kell bontaniuk a további koordináta információkat a földdel kapcsolatban. Hozz létre egy white_data nevű változót a fájlban talált adatérték tárolására, valamint egy sign nevű változót az ott talált előjel számára. Sétálj a sötét X jelhez a fehér szőnyegen, és használd a math.copysign() függvényt a két létrehozott változó argumentumként történő átadásával, majd rendeld az eredményt a white_data változóhoz, így: white_data = math.copysign(white_data,sign).

Ha elkészültél, a white_data értékkel használd a math.factorial() függvényt az index megszorozására; konvertáld a white_data-t egész számmá, és használd azt a függvénnyel, így: white_data = math.factorial(int(white_data)). Végül használd az előre megírt write() függvényt a white_data rögzítéséhez annak érdekében, hogy befejezd a szintet.

Kódkönyv