Rubrica in Python

Rubrica in Python

Realizziamo una semplice rubrica in Python utilizzando le liste. La rubrica sarà gestita in modo da memorizzare il nome, il cognome e il numero di telefono dei nostri amici.

Rubrica in Python con le liste

Per realizzare questa rubrica in Python ci serviranno dunque 3 liste, una per il nome, una per il cognome e una per il contatto telefonico. Quindi inizializziamo le tre liste alla lista vuota:

nome = []
cognome = []
contatti = []

Dopo chiediamo all’utente quanti contatti vuole inserire e con un ciclo for inseriamo i valori nelle liste utilizzando il metodo append.

N=int(input('Quanti elementi vuoi inserire?: '))

for i in range(N):

n=input('Inserisci il nome: ')
nome.append(n)
c=input('Inserisci il cognome: ')
cognome.append(c)
t=input('Inserisci il telefono: ')
contatti.append(t)

Infine, per visualizzare i contatti inseriti, basterà solamente scorrere le liste con un ciclo for e stampare i risultati della selezione.

Ecco quindi il codice completo:

nome = []
cognome = []
contatti = []

N=int(input('Quanti elementi vuoi inserire?: '))

for i in range(N):
    n=input('Inserisci il nome: ')
    nome.append(n)
    c=input('Inserisci il cognome: ')
    cognome.append(c)
    t=input('Inserisci il telefono: ')
    contatti.append(t)


for i in range(N):
    print('*********')
    print('Cognome e Nome: ', cognome[i], ' ', nome[i])
    print('Telefono: ', contatti[i])
  

Ricerca di un elemento nella rubrica

Adesso cerchiamo un elemento nella nostra rubrica inserendo il nome.

Quindi chiediamo all’utente di inserire un valore e lo memorizziamo nella variabile cerca.

Dopo verifichiamo se questo elemento esiste nella lista dei nomi con un semplice if e se il contatto esiste lo visualizziamo in ouptut.

Settiamo poi una variabile di controllo, che chiamo trovato, a 0 e cambiamo il valore solo se troviamo l’elemento cercato. Quindi se trovato rimane a 0 vuol dire che l’elemento non è presente e dunque visualizziamo questo messaggio in output.

Ecco dunque il codice completo:

nome = []
cognome = []
contatti = []

N=int(input('Quanti elementi vuoi inserire?: '))

for i in range(N):
    n=input('Inserisci il nome: ')
    nome.append(n)
    c=input('Inserisci il cognome: ')
    cognome.append(c)
    t=input('Inserisci il telefono: ')
    contatti.append(t)


cerca=input('Nome di chi vuoi cercare?: ')

trovato=0

for i in range(N):
    if nome[i]==cerca:
        print('*********')
        print('Cognome e Nome: ', cognome[i], ' ', nome[i])
        print('Telefono: ', contatti[i])
        trovato=1

if trovato==0:
        print('Nessun elemento trovato')

    

In questa lezione abbiamo realizzato un semplice esempio di una rubrica in Python, al fine di utilizzare le liste. Nelle prossime lezioni approfondiremo ancora l’argomento delle liste.

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

Programma Python

Programma Python

Realizziamo un semplicissimo programma Python per la gestione dei voti, utilizzando le liste e le tuple.

Ipotizziamo quindi di registrare i voti delle seguenti materie:

Informatica, Italiano, Matematica, Inglese, Storia e Arte.

Dopo, per ogni materia, registriamo un voto.

Quindi calcoliamo la media dei voti e il valore massimo e il valore minimo senza utilizzare le funzioni predefinite max e min.

Procedimento

Per memorizzare le materie utilizziamo una tupla, in quanto non modificheremo l’elenco delle materie. Per i voti utilizziamo invece una lista, in quanto a mano a mano andremo ad aggiungerli.

Calcoliamo poi la lunghezza della tupla materie e la memorizziamo in una variabile n.

Dopo, con un ciclo for per i che va da 0 a n-1, inseriamo le materie facendo attenzione che il voto sia compreso nell’intervallo [1,10]. Escludiamo quindi lo 0.

Memorizziamo poi il voto in una variabile v.

Quando chiedo di inserire il voto nell’input visualizziamo anche la materia, ma per farlo devo usare l’operatore + che serve per concatenare le stringhe in quanto la funzione prende un solo argomento.

Quindi, utilizzando il metodo append, inserisco il voto nella lista.

Memorizzo poi nella variabile massimo e minimo il primo elemento inserito e con un ciclo for lo confronto con gli altri elementi inseriti.

Infine visualizzo la media dividendo la somma delle materie ottenute con la lunghezza della lista voti.

Ecco quindi l’algoritmo completo del programma in python proposto:

materie=('Informatica', 'Matematica', 'Italiano', 'Inglese', 'Storia', 'Arte')
voti=[]

n=len(materie) #ottengo la lunghezza della tupla

for i in range(n):
    v=int(input('Voto in ' + materie[i] + ': '))
    
    while v<1 or v>10:
        v=int(input('Voto in ' + materie[i] + ': '))
        
    voti.append(v)

s=0
massimo=voti[0]
minimo=voti[0]

for i in range(n):
    print('Il voto in', materie[i], 'è', voti[i])
    s+=voti[i]
    if voti[i]>massimo:
        massimo=voti[i]
    elif voti[i]<minimo:
        minimo=voti[i]

print('La media è', s/len(voti))

j = voti.index(minimo) 
print('Voto più basso:', minimo, 'in', materie[j])

j = voti.index(massimo)        
print('Voto più alto:', massimo, 'in', materie[j])

Questo è un semplicissimo programma in Python, più avanti farò altri esempi.

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