Avancerad Pythonutvecklingskurs
Kapitel
>
Nivå

Matematikmoduler
Utökad matematikmodul

Mål

Beräkna de nya markutsträckningarna till gården med hjälp av fler funktioner från math-modulen.

Överst över bron har annexet några kontor som används för att kartlägga den oreglerade marken som förenar två olika delar av gården. Här hittar vi några markdimensioner och mätningar, det vore en bra idé att sortera dem och dokumentera datan. Detta kan åstadkommas med hjälp av math-modulen. I den här nivån introduceras vi för ett nytt urval av funktioner som vi kan använda för att bearbeta datan. Du använder samma import math och math. innan funktionerna för att använda detta urval:

  • math.radians(): Konverterar grader till radianer / vinklar.
  • math.floor(): Avrundar ett tal nedåt till ett grundtal.
  • math.ceil(): Avrundar ett tal uppåt till ett högre tal.
  • math.atan2(): Returnerar arctangenten mellan två tal i radianer.
  • math.isclose(): Kontrollerar om två tal är nära varandra, returnerar sant/falskt.
  • math.fsum(): Lägger ihop flyttal (decimaltal) från en lista eller iterabel.
  • math.dist(): Beräknar avståndet mellan två punkter, värdena måste vara i listor eller iterabla strukturer.

Börja med att samla in rådata från diagrammen genom att gå till de ljusa X-märkena över den röda och blå mattan. Använd read()-funktionen för att identifiera de råa dimensioner som behövs för att ta mätningar. Dessa mätningar är redan lagrade i fyra variabelkonstanter med namnen: red_x, red_y, blue_x och blue_y.

När båda datamängderna har identifierats, gå till det mörka X-märket över den orange mattan och rikta dig mot skrivbordet. Använd math.radians() och math.ceil() för att konvertera variablerna blue_x och blue_y till radianer och avrunda dem uppåt. Använd float() för att säkerställa att konstanterna är decimaltal som kan redigeras. Till exempel, för variabeln blue_x: konvertera till radianer med blue_x = math.radians(float(blue_x)) och avrunda värdet med blue_x = math.ceil(float(blue_x)). Gör samma sak för blue_y vid detta X-märke, och när det är klart, använd den förskrivna write()-funktionen och lägg till variablerna blue_x och blue_y för att dokumentera dem.

Gå till det mörka X-märket över den gröna mattan och använd math.radians() och math.floor() för att konvertera variablerna red_x och red_y till radianer och avrunda dem. Till exempel, för variabeln red_x: konvertera till radianer med red_x = math.radians(red_x) och avrunda värdet med blue_x = math.floor(red_x). Gör samma sak för red_y vid detta X-märke, och när det är klart, använd den förskrivna write()-funktionen och lägg till variablerna red_x och red_y för att dokumentera dem.

Gå till det gyllene X-märket och rikta dig mot skrivbordet, här skapar vi två nya variabler, data_a och data_b. Här kommer vi att lagra arctan-värdena för varje uppsättning genom att använda funktionen math.atan2. För data_a använder vi variablerna blue_x och blue_y för att mata in i funktionen, så här: data_a = math.atan2(blue_x,blue_y). För data_b, gör samma sak men med red_x och red_y. När det är klart, använd den förskrivna write()-funktionen och lägg till variablerna data_a och data_b för att dokumentera dem.

Nu när de undre skrivborden har hanterats, gå till det mörka X-märket över den lila mattan, skapa en variabel som heter comparison och använd den med funktionen math.isclose(), med data_a och data_b som argument, på följande sätt: comparison = math.isclose(data_a, data_b). Använd den förskrivna write()-funktionen med variabeln comparison vid detta X-märke.

Gå till X-märket över den vita mattan, skapa en lista som heter data_list och lägg till data_a och data_b i den ordningen. Skapa en variabel som heter total och använd funktionen math.fsum() med data_list som argument, på följande sätt: total = math.fsum(data_list). Använd variabeln total med den förskrivna write()-funktionen vid detta X-märke.

Gå till det mörka X-märket över den gula mattan och rikta dig mot skrivbordet, konvertera data_a och data_b till individuella listvärden, till exempel för data_a gör: data_a = [data_a]. Gör samma sak för data_b för att konvertera båda variablerna till iterabla strukturer som kan användas med funktionen math.dist(). Skapa en variabel som heter distance och använd den för att lagra värdet av math.dist(), med data_a och data_b som argument. Använd variabeln distance med den förskrivna write()-funktionen för att slutföra nivån.

Kodbok