-
Fino ad ora abbiamo scritto codice con if-test. E se il risultato è
-
vero, allora otteniamo a schermo le rows [NdT righe] dai dati. Quindi, in questa piccola sezione, voglio mostrarvi come,
-
invece, potete contare il numero di rows nelle quali l'if-test è vero.
-
E questo è molto simile a ciò che si fa veramente con i computer. Allora
-
per farlo, dobbiamo aggiungere del codice a quello che
-
abbiamo. Allora, è tutto scritto qui, ma ve lo mostro in questo esempio
-
di codice. Ci sono tre cose che devono essere aggiunte per poter contare. La prima è
-
l'introduzione di una nuova variabile, con la quale potrò contare. La imposterò
-
a zero e lo faccio prima dell'inizio del loop. Quindi,
-
count è uguale a zero. Poi, dentro al loop, dentro all'if-statement, dove
-
stamperei le row come abbiamo fatto molte volte. Ma allora avrò
-
anche questo codice: count=count+1. Ed è una linea divertente.
-
Vi dirò cosa fa. Quanlunque valore sia immagazinato in count
-
aumenta di uno. Quindi passa da cinque a sei, o da dieci a undici,
-
Ma lasciate che vi spieghi come funziona. In matematica
-
questa linea non ha molto senso. Un po' come che valore è uguale a se stesso
-
più uno. Ma il motivo per cui funziona in un computer è che la funzione del segno uguale
-
in codice è più semplice che in matematica. E il concetto
-
chiave da capire è che prima considera il lato destro. E poi
-
solo dopo aver risolto ed ottenuto un valore, allora quel valore è immagazzinato
-
nella variabile nel lato sinistro. Immaginiamo la primissima esecuzione. Count è
-
a zero e poi arriva a questa linea. La prima cosa che fa è prendere in considerazione
-
il lato destro. Quindi count è zero, zero più uno è uno. Quindi
-
da questa parte abbiamo uno. Una volta arrivati a questo, lo immagazzina in count così ora
-
count è uno. Potete vedere che l'azione inizia con count
-
che è zero e poi diventa uno. Quindi aumenta. La
-
volta successiva, se l'if-statement è vero, il valore
-
a destra vale uno. Uno più uno fa due, ed ho ottenuto
-
che due sia archiviato in count, che adesso vale due.
-
Quindi, alla fine, non serve un comando generale per queste cose,
-
dovete solo sapere che x=x+1 per una variabile, aumenta sempre
-
di uno, ogni volta che viene eseguito. Allora, dicevo che ci sono tre parti. Abbiamo impostato
-
zero e count=count+1 nell'if-statement e poi
-
alla fine stampiamo qualunque valore sia rimasto in count dopo
-
che il for-loop è stato eseguito. Adesso proviamo. Se eseguo questo ciò che vediamo è che
-
il loop viene eseguito, controlla i nomi che iniziano con "A".
-
Vediamo tutti questi nomi che iniziano per "A". Poi, alla fine, c'è questa line "count:258"
-
Quello che ci mostra è che quando il for-loop è iniziato count era a zero.
-
The for-loop ha fatto tutti i suoi conti. L'if-statement era vero, sembra, 258 volte
-
su 2.000 valori. E otteniamo questo "count: 258". Che compare a schermo
-
per questa linea. Che viene eseguita solo dopo il loop, dopo che tutte le
-
stampe interne sono state fatte. Ok, adesso facciamo un po' di esperimenti. Una cosa semplice
-
da fare è, beh, e se togliessi i print dentro al loop?
-
Vediamo, continuerò a cercare attraverso le row, ho ancora l'if-statement, ma
-
l'unica cosa che succede dentro all'if-statement è count=count+1.
-
Solo aumentare di uno. Se eseguo adesso il programma, ottengo semplicemente
-
questa linea. Lo eseguo e semplicemente, bam, 258. Inizia a
-
sembrare più quello che ci si aspetta da un computer, che
-
assimila grandi quantità di dati, li esamina e restituisce
-
una specie di risposta finale. Ok, allora, proviamo qualche problema.
-
E come al solito, otteniamo la variabile come soluzione. Calcoliamo quanti nomi iniziano con "X" e poi
-
paragoniamoli a quanti iniziano con "Y". Allora, se voglio contare quanti nomi iniziano
-
con "X", cambio count e count=count + uno
-
count=count+1 lo posso lasciare. Quindi, dirò, quanti iniziano
-
con "X"? Se lo eseguo, mi darà sei. E adesso, oh beh, e se volessi sapere
-
quanti iniziano con "Y"? Possiamo tenere tutta la struttura
-
e cambiare solo "Y". Il risultato è diciassette, quindi credo che
-
ci siano più nomi che inziano con "Y", molti di più che con "X".
-
Poi vediamo quante bambine ci sono con il nome che inizia con "A", poi cambiamo e contiamo quanti nomi di bambini
-
iniziano con "A". Questo richiederà il materiale della scorsa lezione.
-
Diciamo startsWith("A"). Aggiungiamo e ("&&") row.getField("gender")=="girl"
-
E poi dentro mettiamo
-
count=count+1. Ok, 169. Il prossimo problema è
-
quanti sono i nomi di bambini. Per i bambini mi basta cambiare questo. L'impostazione dell'if
-
e la funzione sono le stesse. E' solo che se prima
-
avremmo scritto print(row), ora abbiamo count=count+1 per fare il conteggio.
-
[incomprensibile] ci sono più nomi [incomprensibile]. Okay, questa è una prima
-
occhiata alle basi del conteggio. Proviamo alcuni esercizi.