Si stamperà: [‘Primavera’, ‘Estate’, ‘Autunno’, ‘Inverno’]
Indice della lista
Come abbiamo già detto ad ogni elemento della lista è assegnato un indice che parte da sinistra e inizia da 0. Dunque, per stampare ad esempio il primo elemento scriviamo:
print(stagioni[0])
Mentre per stampare l’ultimo elemento scriviamo:
print(stagioni[3])
Così come abbiamo visto con le stringhe, anche con le liste possiamo estrarre un insieme di valori, cioè una sottolista:
print(stagioni[:2])
Questo output visualizzerà solo i primi due elementi della lista.
Modificare elementi delle liste in Python
Gli elementi della lista possono anche essere modificati, riassegnandogli un nuovo valore.
Ad esempio assegniamo al primo elemento il valore ‘Estate‘, mentre al secondo assegniamo il valore ‘Primavera‘.
stagioni[0]=’Estate’
stagioni[1]=’Primavera’
In questo semplice esempio ho cambiato la prima stagione e la seconda.
Numero degli elementi di una lista
Il metodo len consente di ottenere il numero degli elementi di una lista.
Quindi:
len(stagioni)
Dà come risultato 4. Per stampare al solito utilizziamo print(len(stagioni))
Concatenare le liste
Per concatenare due liste si usa l’operatore +, quindi ad esempio:
a = [‘Primavera’, ‘Estate’]
b = [‘Autunno’, ‘Inverno’]
c=a+b
print(c)
In questo modo dunque si uniscono le due liste in una sola.
Prodotto con le liste in Python
Si può effettuare anche il prodotto con le liste:
voto=[6,8]
voto*=3
print(voto)
L’output visualizzato sarà dunque [6, 8, 6, 8, 6, 8].
Ricerca di un dato in una lista
Per ricercare un dato in una lista si utilizza in. Ad esempio in modalità interattiva possiamo scrivere:
linguaggi = [‘python’, ‘php’]
‘php’in linguaggi #restituisce True
‘c’in linguaggi #restituisce False
Conteggiare quante volte compare un elemento, metodo count
Con le liste si può utilizzare anche il metodo count, che consente di contare quante volte ricorre un elemento nella lista. Se l’elemento non viene trovato si ha un’eccezione.
voti=[9,7,7,10] c=voti.count(7) print(c)
In questo caso si stamperà 2, cioè il numero di volte che occorre il numero 7.
Posizione dell’elemento nella lista con il metodo index
Si può conoscere la posizione di un elemento nella lista utilizzando il metodo index.
voti=[8,7,5,10] c=voti.index(5) print(c)
In questo esempio si stamperà 2, cioè la posizione dell’indice dell’elemento con valore 5, partendo da sinistra. Ricordate che l’indice parte da 0.
Nella prossima lezione parleremo ancora delle liste in Python e come utilizzarle con le strutture condizionali e iterative.
In questa lezione realizzeremo un programma sui numeri amicabili in Python, al fine di esercitarci con le strutture iterative.
Ricordiamo che due numeri si dicono amicabili se la somma dei divisori propri di uno, escluso però il numero stesso, è uguale all’altro numero e viceversa.
Ad esempio i numeri 220 e 284 sono amicabili.
Infatti i divisori di 220 sono 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 e 110. La loro somma mi dà 284.
Allo stesso modo troviamo i divisori di 284: 1, 2, 4, 71, 142 la cui somma fa 220.
Quindi i numeri sono amicabili.
L’algoritmo risolutivo consiste dunque nel trovare tutti i divisori del primo numero, escluso il numero stesso, sommarli e confrontarli con l’altro numero. Allo stesso modo con il secondo numero.
Quindi innanzitutto prendiamo in input i due numeri interi e li memorizziamo in due variabili numero1 e numero2. Dopo inizializziamo le variabili div, somma1 e somma2.
La variabile div rappresenta il divisore e viene inizializzata ad 1 all’inizio e dopo il primo while, perché ci servirà per l’altro numero. In alternativa si poteva utilizzare un’altra variabile.
Dopo con il ciclo while troviamo tutti i divisori del numero1 e li sommiamo nella variabile somma1. Lo stesso per l’altro numero per cui sommiamo i divisori nella variabile somma2.
Infine compariamo somma1 con numero2 e somma2 con numero1. Se entrambe le uguaglianze sono verificate allora i numeri sono amicabili, altrimenti non lo sono.
Ecco dunque il codice completo dell’algoritmo sui numeri amicabili in Python:
numero1=int(input(‘Inserire il primo numero: ‘))
numero2=int(input(‘Inserire il secondo numero: ‘))
div,somma1,somma2=1,0,0
while div<=numero1/2:
if numero1%div==0:
somma1+=div
div+=1
div=1 #riportiamo il divisore ad 1
while div<=numero2/2:
if numero2%div==0:
somma2+=div
div+=1
if somma1==numero2 and somma2==numero1:
print(‘I numeri sono amicabili!’)
else:
print(‘I numeri non sono amicabili!’)
Potremmo aggiungere un controllo, perché in effetti è inutile trovare tutti i divisori del secondo numero, se somma1 è diverso da numero2.
Quindi sarebbe opportuno trovare i divisori del secondo numero solo se la condizione somma1 uguale a numero2 è soddisfatta.
Per realizzare questo algoritmo sui numeri primi in Python, prendiamo in input un numero e lo dividiamo a mano a mano per numeri minori della sua metà. Difatti è scontato che dividendo un numero per valori maggiori della sua metà, il resto della divisione sia diverso da 0.
Inoltre, dato che tutti i numeri sono divisibili per 1, facciamo senza anche a contarlo come divisore.
Quindi impostiamo la variabile div a 2 e la incrementiamo di volta in volta fino ad arrivare a numero/2.
Se il resto della divisione numero%div è uguale a zero, allora conteggiamo i divisori in una variabile contatore count inizializzata a zero.
Se la variabile count rimane a 0 allora non si trovano divisori e quindi il numero è primo. In caso contrario il numero non è primo.
Ottimizziamo l’algoritmo terminando il ciclo se il divisore raggiunge la metà del numero preso in considerazione ma anche se il contatore diventa 1, così da non dividere inutilmente e risparmiare molto più tempo. Ciò è indicato soprattutto per numeri molto grandi.
Ecco dunque il codice completo:
numero=int(input(‘Inserire un numero: ‘))
if numero<=1:
print(‘Devi inserire un numero maggiore di 1’)
else:
div,count=2,0
while div<=numero/2 and count==0:
if numero%div==0:
count+=1
div+=1
if count==0:
print(‘Numero primo!’)
else:
print(‘Il numero non è primo!’)
Torneremo nuovamente sui numeri primi in Python nelle prossime lezioni.
Realizziamo in quest’articolo una semplice calcolatrice con JavaScript, per spiegare ancora il metodo getElementById().
Anche questo è un semplice esercizio proposto a scopo didattico, in seguito svilupperemo lo stesso esercizio utilizzando jQuery.
Sviluppo di una calcolatrice con JavaScript
Il semplice esempio di calcolatrice che realizzeremo oggi utilizza HTML, CSS e anche JavaScript.
Ecco dunque l’esempio.
Inserite i numeri e le operazioni cliccando sui tasti e infine cliccate sul tasto uguale (=) per avere il risultato dell’operazione. Adesso potete continuare ad operare sul numero ottenuto oppure, se volete cancellare tutto il contenuto del display, cliccate sul pulsante C.
Innanzitutto creiamo il codice HTML per inserire i tasti da 0 a 9, poi inseriamo i pulsanti per le operazioni matematiche, il tasto per la virgola, il tasto C e infine il tasto uguale. Inseriamo anche il display in alto.
Utilizzeremo quindi i tag div, i tag input e il tag button, a cui assegneremo opportune classi, per formattare la nostra calcolatrice con JavaScript, come da esempio mostrato sopra.
Notiamo inoltre che, all’evento onclick per i tasti, abbiamo inserito n(this.id), in questo modo infatti recuperiamo in automatico l’id che è dichiarato in ciascun input. Mentre all’evento onclick di button assegniamo la funzione operazione() che creeremo in JavaScript.
Chiaramente potete personalizzare con la formattazione desiderata la vostra calcolatrice con JavaScript.
Infine implementiamo il codice JavaScript.
Il codice è veramente molto semplice. Realizziamo la funzione n(dato) che di volta in volta prende i dati inseriti cliccando sui tasti in quanto utilizza il metodo getElementById().
Poi realizziamo la funzione che compie le operazioni utilizzando l’istruzione eval che restituirà il risultato della nostra operazione.
Infine realizziamo la funzione che semplicemente cancella il display.
function n(dato){
document.getElementById("operazioni").value += dato;
}
function operazione() {
document.getElementById("operazioni").value = eval(document.getElementById("operazioni").value);
}
function cancella() {
document.getElementById("operazioni").value = "";
}
Come vi dicevo questo è un semplice metodo per creare una calcolatrice con JavaScript, potete trovare tante altre soluzioni.
Python list è un metodo utilizzato per creare delle liste vuote, per copiare una lista in un’altra o ancora per creare delle liste con determinati valori.
Python list – Come creare una lista vuota
In Python si può creare una lista vuota seguendo vari metodi.
Un primo metodo consiste nel definire il nome della lista e porla uguale alle parentesi quadre aperte e chiuse, così:
mese = []
Ma, per creare una lista vuota, potremmo anche utilizzare il metodo list in Python, in questo modo:
stagioni=list()
Se dunque proviamo adesso a stampare entrambe le liste con la funzione print:
print(mese, stagioni)
Otterremo di conseguenza questo output: [] []
Python list – Copiare una lista con il metodo list
Il metodo list in Python, oltre a creare una lista vuota, può essere utilizzato anche per copiare il contenuto di una lista in un’altra.
l1 = ['Python' , 'Coding Creativo' , 2019]
l2 = list(l1) #creo una copia della lista l1 passata come argomento
print(l1,l2) #stampo le due liste
Creiamo adesso una lista di lunghezza casuale, utilizzando la funzione randint del modulo random che potete consultare in questa guida: numeri random.
Quindi facciamo in modo ad esempio di assegnare ad n un valore casuale tra 1 e 10 e ad m un valore casuale tra 20 e 100.
from random import randint
n=randint(1,10)
m=randint(20,100)
interi=list(range(n,m))
print(interi)
In questa lezione abbiamo affrontato il metodo list in Python, nella prossima lezione parleremo ancora delle liste e come utilizzarle con le strutture condizionali e iterative.