Liste in Python

Liste in Python

Le liste in Python sono una serie ordinata di valori identificati da un indice.

Quindi una lista è un dato composto che aggrega dei valori di qualsiasi tipo, racchiusi tra una coppia di parentesi quadre e separati da una virgola.

I valori che fanno parte di una lista si chiamano elementi e possono essere numeri o stringhe.

Esempi di liste in Python

Facciamo quindi degli esempi di liste in Python.

Creiamo una lista di nome voti che contiene i valori numerici da 6 a 9 e anche una stringa, ad esempio Ottimo.

voti = [6,7,8,9,‘Ottimo’]

Quindi, come detto prima, i valori possono essere di tipo diverso.


Facciamo un altro esempio di una lista che contiene valori dello stesso tipo.

Creiamo dunque una lista di nome stagioni, nella quale memorizziamo le stagioni dell’anno.

Dopo stampiamo la lista con la funzione print.

stagioni = [‘Primavera’, ‘Estate’, ‘Autunno’, ‘Inverno’]

print(stagioni)

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.

Migliora le tue capacità di programmazione Python seguendo i nostri corsi in diretta!

corsi Python

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.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

Numeri amicabili in Python

Numeri amicabili in Python

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.

Numeri amicabili in Python

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!')

La stessa soluzione si può ottenere con i ciclo for:

numero1 = int(input('Inserire il primo numero: '))
numero2 = int(input('Inserire il secondo numero: '))

somma_divisori_1 = 0
somma_divisori_2 = 0

# Calcolo la somma dei divisori propri per il primo numero
for div1 in range(1, numero1 // 2 + 1):
    if numero1 % div1 == 0:
        somma_divisori_1 += div1

# Calcolo la somma dei divisori propri per il secondo numero
for div2 in range(1, numero2 // 2 + 1):
    if numero2 % div2 == 0:
        somma_divisori_2 += div2

# Verifico se i numeri sono amicabili
if somma_divisori_1 == numero2 and somma_divisori_2 == 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.

Lo stesso algoritmo lo abbiamo realizzato con algobuild: numeri amicabili con Algobuild.

Ottimizzazioni numeri amicabili in Python

Possiamo ottimizzare l’algoritmo precedente utilizzandoo le “generator expressions” per calcolare la somma dei divisori propri di ciascun numero, rendendo il codice più compatto. Sostituiamo i cicli for con l’utilizzo della funzione sum, che è più efficiente.

Migliora le tue capacità di programmazione Python seguendo i nostri corsi in diretta!

corsi Python

Ecco di seguito il codice ottimizzato:

numero1 = int(input('Inserire il primo numero: '))
numero2 = int(input('Inserire il secondo numero: '))

# Calcolo la somma dei divisori propri per il primo numero
somma_divisori_1 = sum(div1 for div1 in range(1, numero1 // 2 + 1) if numero1 % div1 == 0)

# Calcolo la somma dei divisori propri per il secondo numero
somma_divisori_2 = sum(div2 for div2 in range(1, numero2 // 2 + 1) if numero2 % div2 == 0)

# Verifico se i numeri sono amicabili
if somma_divisori_1 == numero2 and somma_divisori_2 == numero1:
    print('I numeri sono amicabili!')
else:
    print('I numeri non sono amicabili!')

Questa versione ottimizzata riduce il codice e migliora l’efficienza usando espressioni generator e la funzione sum() per il calcolo delle somme dei divisori, evitando cicli for espliciti.

Conclusioni

In questa lezione abbiamo esaminato come implementare un programma in Python per verificare se due numeri sono amicabili, ovvero se la somma dei divisori propri di ciascun numero corrisponde all’altro numero. Abbiamo analizzato diversi approcci per implementare questo programma, ciascuno con i propri vantaggi e considerazioni.

Il primo approccio utilizzava cicli while e variabili per controllare i divisori dei numeri inseriti. Successivamente, ho realizzato la stessa soluzione, sostituendo i cicli while con cicli for, eliminando le variabili non necessarie.

Successivamente, ho proposto una versione ottimizzata utilizzando le espressioni generator e la funzione sum() per ridurre ulteriormente la complessità del codice.

Chiaramente questi sono solo dei possibili modi per implementare l’algoritmo sui numeri amicabili in Python. Ci sono molteplici modi per implementare l’algoritmo per verificare i numeri amicabili in Python, e ognuno può avere vantaggi e svantaggi a seconda del contesto e delle preferenze personali.

Miglioramenti e ottimizzazioni

Ecco alcuni punti da prendere in considerazione:

  1. Approccio Iterativo vs. Approccio Funzionale: Nel nostro esempio, abbiamo utilizzato un approccio iterativo con cicli while e for, ma è possibile implementare lo stesso algoritmo utilizzando un approccio più funzionale con le funzioni built-in di Python come filter() e sum(). Questo potrebbe rendere il codice più compatto e leggibile per alcuni programmatori.
  2. Ottimizzazione degli Algoritmi: Esistono diverse strategie per ottimizzare l’algoritmo per verificare i numeri amicabili. Ad esempio, è possibile limitare il range dei divisori da controllare, in quanto i divisori propri di un numero non possono essere mai superiori alla sua metà. Questo può ridurre il numero di iterazioni e rendere l’algoritmo più efficiente, soprattutto per numeri grandi.
  3. Uso di Funzioni: Abbiamo introdotto una versione che utilizzava una funzione separata per calcolare la somma dei divisori di un numero. Questo rende il codice più modulare e favorisce il riutilizzo del codice. Tuttavia, in alcuni casi, l’uso di funzioni può aggiungere complessità non necessaria, quindi è importante valutare se è realmente vantaggioso.
  4. Gestione dei Numeri Negativi o Nulli: Nel nostro esempio, abbiamo supposto che gli utenti inseriscano numeri positivi, ma potrebbe essere necessario gestire anche numeri negativi o nulli, a seconda dei requisiti dell’applicazione.

È importante scegliere l’approccio che meglio si adatta alle esigenze specifiche del progetto, tenendo conto di considerazioni come leggibilità, efficienza e manutenibilità del codice. La discussione e il confronto di diversi approcci possono portare a una migliore comprensione dell’algoritmo e delle sue implementazioni in Python, perciò scrivete nei commenti sotto e dite la vostra!

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

Numeri primi in Python

Numeri primi in Python

Realizziamo un programma sui numeri primi in Python utilizzando le strutture iterative studiate finora, al fine di approfondirle.

Ricordiamo dunque la definizione di numero primo:

Un numero è primo quando ha solo due divisori: uno e se stesso.

Quindi è primo ciascun numero naturale maggiore di 1 che sia divisibile solamente per 1 e per sé stesso.

La successione dei numeri primi comincia con 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, …

Algoritmo per i numeri primi in Python

Abbiamo già realizzato questo algoritmo in linguaggio C: numero primo in C. Inoltre, anche con Algobuild, abbiamo affrontato lo stesso argomento: numeri primi da 1 a 100 con Algobuild e con Scratch: numeri primi da 1 a 100 con Scratch.

Dato in input un numero verificare che sia primo.

Descrizione dell’algoritmo:

  1. Dato in input un numero, verifichiamo che sia maggiore di 1. Se non lo è, visualizziamo un messaggio di errore poiché i numeri primi sono definiti solo per numeri maggiori di 1.
  2. Iniziamo con l’impostare una variabile div a 2 e una variabile count a 0. div è il divisore con cui verificheremo se il numero è primo, mentre count tiene traccia del numero di divisori trovati.
  3. Utilizziamo un ciclo while che continua finché div è minore o uguale alla metà del numero e count è uguale a 0. Questo ci permette di ottimizzare l’algoritmo evitando di dividere inutilmente numeri molto grandi.
  4. All’interno del ciclo, controlliamo se il numero è divisibile per div usando l’operatore modulo (%). Se il resto della divisione è zero, incrementiamo count poiché abbiamo trovato un divisore.
  5. Dopo ogni iterazione, incrementiamo div di uno.
  6. Se alla fine del ciclo count è ancora zero, il numero è primo. Altrimenti, non è primo.

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!')

Con questo algoritmo, siamo in grado di determinare se un numero inserito dall’utente è primo o meno.

Miglioramenti e ottimizzazioni algoritmo sui numeri primi in Python

Potremmo fare alcune ottimizzazioni all’algoritmo precedentemente proposto. In particolare possimo evidenziare questo miglioramenti e ottimizzazioni:

  1. Verifica dei numeri pari: Possiamo ottimizzare ulteriormente l’algoritmo evitando di controllare i divisori per i numeri pari, ad eccezione di 2. Se il numero è pari diverso da 2, sappiamo già che non è primo perché è divisibile per 2.
  2. Ottimizzazione della ricerca dei divisori: Possiamo limitare la ricerca dei divisori fino alla radice quadrata del numero anziché fino alla sua metà. Questo perché se un numero ha un divisore maggiore della sua radice quadrata, avrà anche un divisore minore della sua radice quadrata.
  3. Refactoring del codice: Possiamo migliorare leggibilità e chiarezza del codice suddividendo le responsabilità in funzioni più piccole e descrivendo chiaramente l’intento di ciascuna parte dell’algoritmo.
  4. Gestione degli input non validi: Possiamo aggiungere controlli aggiuntivi per gestire input non validi, ad esempio se l’utente inserisce caratteri non numerici anziché numeri.

Ecco un esempio di implementazione con ottimizzazioni:

import math

def is_prime(numero):
    if numero <= 1:
        return False
    elif numero == 2:
        return True
    elif numero % 2 == 0:
        return False
    else:
        limite = int(math.sqrt(numero)) + 1
        for div in range(3, limite, 2):
            if numero % div == 0:
                return False
        return True

numero = int(input('Inserire un numero: '))

if is_prime(numero):
    print('Numero primo!')
else:
    print('Il numero non è primo!')

Nella funzione is_prime, sono state apportate diverse ottimizzazioni per migliorare l’efficienza e la chiarezza dell’algoritmo per determinare se un numero è primo:

  1. Controllo se il numero è minore o uguale a 1: Il primo controllo verifica se il numero è minore o uguale a 1. In tal caso, restituisce False poiché i numeri primi sono definiti come numeri naturali maggiori di 1.
  2. Controllo se il numero è uguale a 2: Successivamente, controlla se il numero è uguale a 2. Se sì, restituisce True perché 2 è il primo numero primo.
  3. Controllo se il numero è pari: Se il numero è pari diverso da 2, viene restituito False poiché i numeri pari (ad eccezione del 2) non possono essere primi.
  4. Calcolo del limite della ricerca dei divisori: Per ottimizzare la ricerca dei divisori, il limite viene calcolato come la radice quadrata del numero (math.sqrt(numero)), arrotondata per eccesso e incrementata di 1. Questo perché se un numero ha un divisore maggiore della sua radice quadrata, avrà anche un divisore minore della sua radice quadrata.
  5. Iterazione sui divisori dispari: Il ciclo for itera sui divisori dispari a partire da 3 fino al limite calcolato, incrementando di 2 ad ogni passaggio. Questo perché abbiamo già escluso i numeri pari diversi da 2 come potenziali divisori.
  6. Controllo dei divisori: Durante l’iterazione, viene controllato se il numero è divisibile per il divisore corrente. Se sì, viene restituito False poiché il numero non è primo.
  7. Restituzione del risultato: Se il ciclo termina senza trovare divisori, il numero è primo e viene restituito True.

Queste ottimizzazioni riducono il numero di iterazioni necessarie per determinare se un numero è primo, rendendo l’algoritmo più efficiente e veloce, soprattutto per numeri grandi.

Migliora le tue capacità di programmazione Python seguendo i nostri corsi in diretta!

corsi Python

Se stai pensando di iscriverti ad un corso in diretta su Python, ecco alcuni suggerimenti per esplorare al meglio questa opportunità:

  1. Apprendimento Interattivo: I corsi in diretta offrono un’esperienza di apprendimento interattiva, che ti permette di interagire direttamente con l’istruttore e gli altri partecipanti. Questo può favorire un apprendimento più rapido e approfondito.
  2. Guida Esperta: I corsi in diretta sono condotti da istruttori esperti che possono guidarti attraverso i concetti chiave e rispondere alle tue domande in tempo reale. Questo ti permette di ottenere una comprensione più approfondita dei concetti e delle best practices di programmazione Python.
  3. Feedback Personalizzato: Durante il corso, avrai l’opportunità di ricevere feedback personalizzato sull’avanzamento del tuo apprendimento e sui tuoi progetti. Questo può aiutarti a identificare e superare le tue sfide specifiche di apprendimento.
  4. Networking: Partecipare ad un corso in diretta ti offre l’opportunità di connetterti con altri studenti e professionisti del settore. Questo può portare a collaborazioni future, opportunità di mentoring e sviluppo di una rete professionale preziosa.
  5. Progetti Pratici: I corsi in diretta spesso includono progetti pratici che ti consentono di applicare ciò che hai imparato in situazioni reali. Questi progetti ti aiutano a sviluppare competenze pratiche e a costruire un portfolio di lavoro.
  6. Aggiornamenti Continui: Python è un linguaggio di programmazione in continua evoluzione. Partecipare ad un corso in diretta ti consente di rimanere aggiornato sulle ultime novità del linguaggio e sulle best practices di sviluppo.

Ancora indeciso? Contattaci per maggiori informazioni: info@insegnarecoding.com

Alcuni link utili

Corso in diretta su Python

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

Calcolatrice con JavaScript

Calcolatrice con JavaScript

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.

Realizziamo poi il foglio di stile.


.content {
            margin-left: 2px;
        }
.tasto {
            background-color: #a5cff3 ;
            color: #175c97;
            font-size: 22pt;
            border: none;
            margin: 4px 2px;
            height: 40px;
	    width: 46px;
        }
.display {
            background: none;
            color: #175c97;
            font-size: 24pt;
            border: #175c97 solid 2px;
            margin: 4px 2px;
            width: 204px;
            height: 40px;            
        }
.uguale {
            width: 208px;
        }

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.

Alcuni link utili

Template responsive con html

Css Responsive

Come trovare immagini per il sito web

Quali colori scegliere per un sito web

Quali font scegliere per un sito web

Form in html

Tag strong

Collegamenti interni ad una pagina web

Python list

Python list

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

L’output prodotto sarà dunque questo:

['Python', 'Coding Creativo', 2019] ['Python', 'Coding Creativo', 2019]

Creare delle liste di interi

Python list consente anche di creare delle nuove liste. Quindi nell’esempio che segue creiamo una lista di numeri interi da 0 a n, dove n è incluso.

n=int(input('Inserisci n: '))
interi=list(range(n+1))

print(interi)

Creare una lista tra due estremi n ed m

Adesso utilizzeremo ancora il metodo list in Python per creare una lista di interi tra due estremi stabiliti n ed m che prendiamo in input.

n=int(input('Numero: '))
m=int(input('Numero: '))

interi=list(range(n,m+1))

print(interi)

In output si visualizzeranno quindi tutti i numeri compresi tra 10 e 30 inclusi.

N.B Se si inserisce un valore di n maggiore di m si stamperà la lista vuota.

Potremmo quindi fare un controllo sui valori inseriti in input.

Creare una lista con step

Infine utilizzeremo ancora il metodo list in Python per creare una lista di interi tra 10 e 30 a step di 5.

n=10
m=30
s=5
interi=list(range(n,m+1,s))

print(interi)

Dunque in output visualizzeremo:

[10, 15, 20, 25, 30]

Come creare una lista di numeri random

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.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

55711