Fejlett Python fejlesztési tanfolyam
Fejezet
>
Szint

Matematikai modulok
Kiterjesztett Matematikai Modul

Cél

Át a hídon az épülethez tartozó melléképületben néhány iroda található, ahol felmérik a településtől elmaradt földterületet, amely a farm két különböző részét köt össze. Itt számos területméretet és mértéket találunk, ezért jó ötlet rendezni őket és dokumentálni az adatokat. Ezt úgy érheted el, hogy a math modul funkcióit használod; ezen a szinten egy új, adatfeldolgozásra használható függvénycsoporttal ismerkedünk meg. Ugyanazt az import math-ot és a math.-ot kell használnod a függvények előtt, hogy ezt a készletet elérd:

  • math.radians(): Átváltja a fokot radiánra/szögekre.
  • math.floor(): Lefelé kerekíti a számot az alapszámra.
  • math.ceil(): Felfelé kerekíti a számot a következő nagyobb számra.
  • math.atan2(): Visszaadja két szám közötti arkusz tangens értékét radiánban.
  • math.isclose(): Ellenőrzi, hogy két szám közel van-e egymáshoz, igaz/hamis értéket ad vissza.
  • math.fsum(): Összeadja a listában vagy iterálhatóban lévő lebegőpontos (decimális) számokat.
  • math.dist(): Megméri két pont közötti távolságot; az értékeknek listának vagy iterálhatónak kell lenniük.

Kezdd a nyers adatok gyűjtését a diagramokról azzal, hogy a piros és kék szőnyegen lévő világos X jelekhez sétálsz. Használd a read() függvényt a mérésekhez szükséges nyers méretek azonosításához. Ezeket a méréseket már elmentettük négy állandó változóban: red_x, red_y, blue_x és blue_y.

Miután mindkét adatállományt beazonosítottad, sétálj a narancsszőnyegen lévő sötét X jelhez, és fordulj a pulthoz. Használd a math.radians() és math.ceil() függvényeket, hogy a blue_x és blue_y változókat radiánba konvertáld és felfelé kerekítsd őket. Használd a float() függvényt annak érdekében, hogy az állandók decimális értékekké alakuljanak, amelyeket módosítani lehet. Például, a blue_x változó esetében: radiánba konvertálás: blue_x = math.radians(float(blue_x)) és felfelé kerekítés: blue_x = math.ceil(float(blue_x)). Ugyanezt tedd a blue_y esetében is ezen a ponton, majd használd az előre megírt write() függvényt, és add hozzá a blue_x és blue_y változókat az adatok lejegyzéséhez.

Sétálj a zöld szőnyegen lévő sötét X jelhez, és használd a math.radians() és math.floor() függvényeket, hogy a red_x és red_y változókat radiánba konvertáld, és lefelé kerekítsd őket. Például, a red_x változó esetében: radiánba konvertálás: red_x = math.radians(red_x) és lefelé kerekítés: blue_x = math.floor(red_x). Ugyanezt végezd a red_y esetében is ezen a ponton, majd használd az előre megírt write() függvényt, és add hozzá a red_x és red_y változókat az adatok lejegyzéséhez.

Sétálj az arany X jelhez, és fordulj a pulthoz, itt két új változót fogunk létrehozni: data_a és data_b. Itt fogjuk tárolni mindkét készlet arkusz tangens értékét a math.atan2 függvény használatával. A data_a esetében a blue_x és blue_y változókkal töltsd fel a függvényt, így: data_a = math.atan2(blue_x,blue_y). A data_b esetében ugyanezt tedd, de használd a red_x és red_y változókat. Ha kész vagy, használd az előre megírt write() függvényt, és add hozzá a data_a és data_b változókat az adatok lejegyzéséhez.

Miután az alsó pultokkal rendet tettünk, sétálj a lila szőnyeg fölötti sötét X jelhez, hozz létre egy comparison nevű változót, és használd a math.isclose() függvényt a data_a és data_b argumentumokkal, így: comparison = math.isclose(data_a, data_b). Használd az előre megírt write() függvényt a comparison változóval ezen a ponton.

Lépj a fehér szőnyegen lévő X jelhez, hozz létre egy data_list nevű listát, és add hozzá a data_a és data_b változókat ebben a sorrendben. Hozz létre egy total nevű változót, és használd a math.fsum() függvényt a data_list argumentummal, így: total = math.fsum(data_list). Használd a total változót az előre megírt write() függvénnyel ezen a ponton.

Lépj a sárga szőnyegen lévő sötét X jelhez, és fordulj a pulthoz, alakítsd át a data_a és data_b változókat egyéni listává, például a data_a esetében: data_a = [data_a]. Ugyanezt tedd meg a data_b esetében is, hogy mindkét változó iterálható formátumú legyen a math.dist() függvény használatához. Hozz létre egy distance nevű változót, és tárold benne a math.dist() értékét úgy, hogy a data_a és data_b változókat használsz argumentumként. Használd a distance változót az előre megírt write() függvénnyel a szint befejezéséhez.

Kódkönyv