Coding for KidsCoding for Kids
Livelli CreativiSfideGuida per Insegnanti
Vota per le funzionalità
Corso Avanzato di Sviluppo Python
Capitolo
>
Livello

Funzioni Avanzate
Funzioni Polimorfiche

In questo capitolo esploreremo nuovi tipi di funzioni, i vari usi che possiamo farne e come sfruttarle al meglio quando programmi in Python.

In questo livello iniziamo con le funzioni polimorfiche, funzioni che possono essere utilizzate con una varietà di tipi di dati diversi. È come usare la stessa funzione per fare cose differenti, una funzione universale.

Guide

Obiettivo

Controlla lo stato delle colture e dei maialini, e conferma le spedizioni delle forniture utilizzando funzioni polimorfiche.

Molto presto dovranno essere raccolte alcune colture affinché possano essere spedite per la vendita. I maialini devono anche ricevere cibo, sarebbe una buona idea verificare quanta quantità di cibo deve essere ordinata. Per realizzare queste operazioni puoi utilizzare funzioni polimorfiche; in questo caso useremo la funzione len().

Le funzioni polimorfiche sono funzioni che possono essere utilizzate con diversi tipi di dati. Ad esempio, la funzione len() viene utilizzata per calcolare la lunghezza degli oggetti, che possono essere di diversi tipi, come liste, dizionari e persino stringhe. Inizia contando i segni X inferiori nel campo prima di procedere con quelli X superiori nel capannone.

Ci sono diversi maialini all'interno di un recinto vicino alla strada, i loro nomi sono "Peggle", "Peter", "Piper", "Pedro", mettili in una lista in modo da poterli contare. In questo modo: piglets = ["Peggle", "Peter", "Piper", "Pedro"]. Crea una variabile chiamata number per memorizzare la lunghezza della lista utilizzando la funzione len(), in questo modo: number = len(piglets).

Una volta creata la lista e la variabile, cammina verso il segno X scuro di fronte al recinto dei maialini, rivolgiti verso il recinto e usa la funzione speak() per contare i maialini. Usa la variabile number per ottenere il risultato, come segue: player.speak("There are d% Piglets" % (number) )

Dopo aver controllato i maialini, cammina fino al segno X chiaro vicino al campo, rivolgiti verso le colture e contale. Ci sono tre (3) tipi diversi di colture: "Tomatoes", "Pumpkins", "Eggplant". Conta quante colture di ciascuno stanno crescendo e memorizzale all'interno di un dizionario, in questo modo:

crops = {} crops["Tomato"] = number of tomato crops crops["Pumpkin"] = number of Pumpkin crops crops["Eggplant"] = number of Eggplant crops

Una volta popolato il dizionario con i valori corretti, usa la funzione speak() in combinazione con la funzione len() per contare il numero di tipi di colture disponibili, in questo modo: player.speak("There are d% types of crops" % ( len(crops) ) ).

Una volta contati sia i maialini che le colture, cammina fino al segno X scuro sul tappeto viola per controllare gli ordini delle colture da spedire. Esiste una costante variabile chiamata order che contiene una stringa con gli ordini delle colture da spedire. Dobbiamo scoprire quali sono gli ordini e quanti ordini abbiamo, possiamo farlo utilizzando la funzione speak() e decompattando la stringa, oltre a usare la funzione len().

player.speak( [*order] ) player.speak("There are d% orders of crops going out" % ( len(order) ) )

Inserendo la variabile stringa all'interno di parentesi e un * possiamo attivare un operatore per decomprimere la stringa. Per esempio: [*string]. Ciò fa sì che la stringa venga separata in ogni singolo carattere e messa in una lista; ad esempio, [*string] produrrà una lista ['s', 't', 'r', 'i', 'n', 'g']. Nel caso di utilizzo di len() su una stringa, verrà contato quanti caratteri ha la stringa.

Per concludere l'esercizio, cammina verso il segno X dorato sul lato destro del capannone e determina quante libbre di cibo devono essere consegnate per i maialini. Crea una variabile chiamata food; come valore, usa la variabile number che hai creato in precedenza e moltiplicala per 35 per determinare la quantità in libbre, in questo modo: food = number * 35.

Mentre sei di fronte al capannone, usa la funzione speak() in combinazione con la variabile food per determinare la quantità di cibo in arrivo, in questo modo: player.speak("There are d% pounds of food coming in" % (food) ).

Libro del Codice