Lezione 2 - Dizionari, funzioni e import

Raccolta di esercizi base da fare con Python

Esercizio 11 - Rubrica

Crea un programma che gestisca una rubrica telefonica usando un dizionario. Il programma deve permettere all’utente di:

  • Aggiungere un nuovo contatto (nome e numero di telefono)

  • Cercare un contatto per nome

  • Eliminare un contatto

  • Stampare tutti i contatti

Esercizio 12 - Lista della spesa pt 2

Usando i dizionari, crea un programma che conta quante volte un elemento della lista della spesa appare nella lista della spesa.

Esempio: dati gli elementi ["pane", "latte", "acqua", "latte"], il programma deve stampare pane: 1, latte: 2, acqua: 1

Esercizio 13 - Traduzione mRNA

Data una sequenza di mRNA del tipo:

rna = "UUUUCUUAUUGUUUCUCC"

Mappa i codoni agli amminoacidi corrispondenti ottenendo quindi la proteina:

"FSYCFS"

Usa il mapping qui sotto per effettuare la traduzione:

Codone
Amminoacido

UUU

F (fenilalanina)

UCU

S (serina)

UAU

Y (tirosina)

UGU

C (cisteina)

UUC

F (fenilalanina)

UCC

S (serina)

UAC

Y (tirosina)

Esercizio 14 - ROT13

Crea la funzione rot13_encode che permette di cifrare messaggio usando il ROT13 cipher.

Il cifrario ROT13 è un semplice cifrario a sostituzione di lettere che sostituisce ogni lettera con quella che si trova 13 posizioni dopo nell’alfabeto. È un caso particolare del cifrario di Cesare.

In ROT13 le lettere che compongono il messaggio vengono sostituite secondo il mapping qui sotto:

  • A ↔ N

  • B ↔ O

  • C ↔ P

  • ...

  • M ↔ Z

  • N ↔ A

  • O ↔ B

  • ...

Come appare il messaggio "Ciao mondo!" cifrato in ROT13?

Cosa succede se codifico lo stesso messaggio due volte con ROT13?

Esercizio 15 - Stima del π

Scrivi una funzione stima_pi(N) che stimi il valore di π nel seguente modo:

  1. Genera N coppie di numeri casuali (X, Y) uniformemente distribuiti tra 0 e 1.

  2. Per ogni coppia calcola R=X2+Y2

  3. Conta quante coppie soddisfano la condizione: R ≤ 1

  4. Calcola la frazione: "punti con R ≤ 1" / N

  5. Moltiplica questa frazione per 4 e restituisce il valore.

Nota bene: è proibito l'uso di librerie esterne oltre a random.

Bonus points:

  • Implementa il controllo che se N <= 0 la funzione deve sollevare un'eccezione

  • Compara la stima di π prodotta dalla funzione con il valore di π presente nella libreria math

Esercizio 16 – Voti classe

Usando dizionari e liste, crea un programma gestisca le valutazioni degli studenti di una classe.

Il programma deve permettere all'utente di:

  • Registrare uno o più voti ad uno studente. Se lo studente non è presente a dizionario, il programma deve automaticamente aggiungere lo studente in automatico.

  • Stampare il minimo, il massimo, la media e la mediana dei voti dati a uno studente

  • Preso il voto medio degli studenti, stampare il minimo, il massimo, la media e la mediana delle valutazioni finali degli studenti della classe. La valutazione finale di uno studente è pari alla media dei voti dati allo studente.

Last updated