Corso Avanzato di Sviluppo Python
Capitolo
>
Livello
Moduli Matematici
Modulo Matematico Esteso
Obiettivo
Calcola le nuove estensioni del terreno della fattoria utilizzando ulteriori funzioni importate dal modulo math.
Attraverso il ponte, l'annesso ospita alcuni uffici utilizzati per eseguire rilievi sul territorio non incorporato che unisce due parti differenti della fattoria. Qui troverai alcune dimensioni e misurazioni del terreno, quindi sarebbe una buona idea ordinarle e documentare i dati. Puoi ottenere ciò utilizzando il modulo math; in questo livello ti sarà presentato un nuovo set di funzioni da utilizzare per elaborare i dati. Utilizza lo stesso import math e math. prima delle funzioni per utilizzare questo set:
math.radians(): Converte i gradi in radianti/angoli.math.floor(): Arrotonda il numero per difetto ad un numero base.math.ceil(): Arrotonda il numero per eccesso ad un numero superiore.math.atan2(): Restituisce l'arcotangente tra due numeri in radianti.math.isclose(): Verifica se due numeri sono vicini tra loro, restituisce true/false.math.fsum(): Somma numeri in virgola mobile (decimali) provenienti da una lista o iterabile.math.dist(): Calcola la distanza tra due punti, i valori devono essere forniti come liste o iterabili.
Inizia a raccogliere i dati grezzi dalle tabelle camminando verso il segno X illuminato sopra il tappeto rosso e blu. Usa la funzione read() per individuare le dimensioni grezze necessarie per effettuare le misurazioni. Queste misurazioni sono già salvate in quattro costanti: red_x, red_y, blue_x e blue_y.
Una volta identificati entrambi i set di dati, cammina verso il segno X scuro sopra il tappeto arancione e rivolgiti verso la scrivania. Usa math.radians() e math.ceil() per convertire le variabili blue_x e blue_y in radianti e arrotondarle per eccesso. Utilizza float() per assicurarti che le costanti siano numeri decimali modificabili. Ad esempio, per la variabile blue_x: converti in radianti con blue_x = math.radians(float(blue_x)) e arrotonda per eccesso il valore con blue_x = math.ceil(float(blue_x)). Fai lo stesso per blue_y in questo segno X, e una volta terminato, usa la funzione predefinita write() per registrare le variabili blue_x e blue_y.
Cammina verso il segno X scuro sopra il tappeto verde e usa math.radians() e math.floor() per convertire le variabili red_x e red_y in radianti e arrotondarle per difetto. Ad esempio, per la variabile red_x: converti in radianti con red_x = math.radians(red_x) e arrotonda per difetto il valore con red_x = math.floor(red_x). Fai lo stesso per red_y in questo segno X, e una volta terminato, usa la funzione predefinita write() per registrare le variabili red_x e red_y.
Cammina verso il segno X dorato e rivolgiti verso la scrivania, dove creeremo due nuove variabili, data_a e data_b. In queste variabili memorizzeremo le arcotangenti di ciascun set utilizzando la funzione math.atan2. Per data_a utilizza le variabili blue_x e blue_y per popolare la funzione, in questo modo: data_a = math.atan2(blue_x,blue_y). Per data_b, fai lo stesso utilizzando red_x e red_y. Una volta completato, usa la funzione predefinita write() per registrare le variabili data_a e data_b.
Ora che le scrivanie inferiori sono state occupate, cammina verso il segno X scuro sopra il tappeto viola, crea una variabile chiamata comparison e utilizzala con la funzione math.isclose(), impiegando data_a e data_b come argomenti, in questo modo: comparison = math.isclose(data_a, data_b). Utilizza la funzione predefinita write() con la variabile comparison in questo segno X.
Spostati al segno X sopra il tappeto bianco, crea una lista chiamata data_list e aggiungi data_a e data_b in quest'ordine. Crea una variabile chiamata total e utilizza la funzione math.fsum() con data_list come argomento, in questo modo: total = math.fsum(data_list). Utilizza la variabile total con la funzione predefinita write() in questo segno X.
Spostati verso il segno X scuro sopra il tappeto giallo e rivolgiti verso la scrivania; converti data_a e data_b in valori di lista individuali, ad esempio per data_a utilizza: data_a = [data_a]. Fai lo stesso per data_b, in modo da trasformare entrambe le variabili in iterabili da utilizzare con la funzione math.dist(). Crea una variabile chiamata distance e utilizzala per memorizzare il valore restituito da math.dist(), passando data_a e data_b come argomenti. Utilizza la variabile distance con la funzione predefinita write() per completare il livello.