ESERCIZIO 1
Creare due tuple che rappresentino i due elenchi di nomi e cognomi descritti sotto:
nomi: Numa, Tullo, Anco
cognomi: Pompilio, Ostilio, Marzio
● Ottenere una lista in cui ogni elemento è un dizionario {‘nome’: nome, ‘cognome’: cognome}, che accoppia nomi e cognomi in base all’ordine.
SOLUZIONE
nomi = ('Numa','Tullo','Anco')cognomi = ('Pompilio','Ostilio','Marzio')l = []for nome, cognome in zip(nomi,cognomi): l.append({'nome': nome, 'cognome': cognome})print(l)l = [{'nome': nome, 'cognome': cognome} for nome, cognome in zip(nomi, cognomi)]print(l)Nota bene:
In Python, la funzione zip() serve ad aggregare in un unico iteratore che contiene un insieme di tuple con gli elementi di ogni iteratore che gli passiamo.
Sintassi
zip(*iterabili)ESEMPIO:
x = [23, 12, 38, 10]y = [1, 3, 6, 7]z = [2, 10, 3, 4]aggregato = zip(x, y, z)""" converto l'iterabile in una lista """aggregato = list(aggregato)print(aggregato)Output:[(23, 1, 2), (12, 3, 10), (38, 6, 3), (10, 7, 4)]
● Aggiungere ‘matricola’
● Aggiungere ‘esami’, provando ad immaginare che tipi di dato usare per rappresentare sia nome che voto degli esami
d = {'nome':'Pinco','cognome':'Pallino'}d['matricola'] = 258115d['esami'] = [{'nome':'Bioinformatica','voto': 30},{'nome':'Analisi','voto': 18}]d‘esami’: [{‘nome’: ‘Bioinformatica’, ‘voto’: 30},
{‘nome’: ‘Analisi’, ‘voto’: 18}],
‘matricola’: 258115,
‘nome’: ‘Pinco’}
d['esami'] = {'Bioinformatica': 30, 'Analisi': 18}d‘esami’: {‘Analisi’: 18, ‘Bioinformatica’: 30},
‘matricola’: 258115,
‘nome’: ‘Pinco’}
● prenda una stringa in input da tastiera, rappresentante un nucleotide (A,C,G,T)
● stampi a video il nucleotide complementare
Assicurarsi che il programma funzioni correttamente sia con input maiuscolo che minuscolo.
nucleotide = input('Inserisci un nucleotide (A,C,G,T): ')if nucleotide == 'A' or nucleotide == 'a': print ('T')elif nucleotide == 'C' or nucleotide == 'c': print ('G')elif nucleotide == 'G' or nucleotide == 'g': print ('C')elif nucleotide == 'T' or nucleotide == 't': print ('A')C
nucleotide = nucleotide.capitalize()Nota bene
Uso delle maiuscole nelle stringhe
La funzione
upper()ci restituisce una stringa con tutti i caratteri maiuscoli.Il seguente esempio di codice ci mostra come possiamo usare la funzione
upper()per rendere maiuscola una stringa in Python.string = "questa è una stringa" uppercasestring = string.upper() print(uppercasestring)Output:QUESTA È UNA STRINGALa funzione
upper()converte tutte le lettere in maiuscolo. Se vogliamo solo mettere in maiuscolo il primo carattere della stringa, dobbiamo usare la funzionecapitalize().
string = "questa è una stringa"
uppercasestring = string.capitalize()
print(uppercasestring)
Output:
Questa è una stringa
ESERCIZIO 4
Calcolare la somma dei primi 500 numeri naturali (da 0 a 500 escluso)
SOLUZIONE
n = 0for i in range(0,500): n += insum(range(0,500)) (499*500)/2 ESERCIZIO 5
Data la stringa ‘abcdefghi’, scrivere un programma che analizzi la stringa e stampi a video:
Lettera 1: a
Lettera 2: b
…
E così via.
● Modificare poi il programma in modo da leggere la stringa da tastiera.
SOLUZIONE
for i, letter in enumerate('abcdefghi'): print ('Lettera %d: %s' % (i+1, letter))s = input('Inserisci una stringa: ')for i, letter in enumerate(s): print ('Lettera %d: %s' % (i+1, letter))Lettera 2: b
Lettera 3: c
Lettera 4: d
Lettera 5: e
Lettera 6: f
Lettera 7: g
Lettera 8: h
Lettera 9: i
Inserisci una stringa: matematica
Lettera 1: m
Lettera 2: a
Lettera 3: t
Lettera 4: e
Lettera 5: m
Lettera 6: a
Lettera 7: t
Lettera 8: i
Lettera 9: c
Lettera 10: a
while True: line = input('Inserisci una stringa: ') if line == 'exit': break print (len(line))14
Inserisci una stringa: lato
4
Inserisci una stringa: area
4
Inserisci una stringa: exit
(275)