01. Introduttivi

Esercizio 1

Argomenti: input(), print(), variabili intere, ciclo while

Richiede all'utente di inserire due numeri interi che memorizza nelle variabili A e B.

Stampa tutti i numeri compresi tra A e B (estremi compresi) uno per riga.

Soluzione

────══════♦☆♦══════────

Esercizio 2

Argomenti: input(), print(), variabili int, while

Richiede all'utente di inserire un numero intero che memorizza nelle variabili A.

Stampa 10 numeri a partire da A (compreso), uno per riga.

────══════♦☆♦══════────

Esercizio 3

Argomenti: input(), print(), variabili float, if/elif/else

Richiede all'utente di inserire i voti decimali relativamente alle materie:

Italiano, Storia, Filosofia

Dopo aver calcolato e stampato la media, determina il giudizio corrispondente nel rispetto della seguente griglia:

Soluzione

────══════♦☆♦══════────

Esercizio 4

Argomenti: input(), print(), variabili float, if/elif/else

Chiedere all'utente di inserire un numero decimale che memorizza nella variabile A.

Determina se A è interna o esterna all'intervallo (1, 2) o se cade su uno degli estremi.

────══════♦☆♦══════────

Esercizio 5

Argomenti: input(), print(), variabili int e float, if/elif/else, while

Chiedere all'utente di inserire una serie di numeri decimali positivi e di terminare con -1 (o un altro numero negativo).

Determina la media, il minimo e il massimo dei numeri inseriti.

Soluzione

────══════♦☆♦══════────

Esercizio 6

Argomenti: input(), print(), variabili int e float, if/elif/else, while

Chiedere all'utente di inserire una serie di numeri decimali positivi o negativi e di terminare con 0.

Determina la somma dei numeri negativi, la somma dei numeri positivi e la media complessiva.

────══════♦☆♦══════────

Esercizio 7

Argomenti: input(), print() (con parametri sep, end), liste, len, sort

Chiedere all'utente di inserire un elenco di città, una per riga. Terminare con <INVIO>.

Stampare l'elenco di città in ordine alfabetico.

Esempio di esecuzione:

Inserire un elenco di città e terminare con <INVIO>

1: Torre del Greco

2: Napoli

3: Ercolano

4: Pompei

5:

ELENCO IN ORDINE ALFABETICO:

1: Ercolano

2: Napoli

3: Pompei

4: Torre del Greco

Soluzione

────══════♦☆♦══════────

Esercizio 8

Argomenti: input(), print() (con parametri sep, end), liste, len, sort

Chiedere all'utente di inserire un elenco di nomi, uno per riga. Terminare con <INVIO>.

Stampare l'elenco completo in ordine alfabetico, sulla stessa riga.

Inoltre stampare separatamente il primo e l'ultimo nome dell'elenco ordinato.

Esempio di esecuzione:

Inserire un elenco di nomi e terminare con <INVIO>

1: Barbara

2: Teresa

3: Elena

4: Anna

5:

ELENCO IN ORDINE ALFABETICO:

Anna Barbara Elena Teresa

1: Anna

4: Teresa

────══════♦☆♦══════────

Esercizio 9

Argomenti: input(), print() (con parametri sep, end), liste, sort con reverse=True, upper

Chiedere all'utente di inserire un elenco di 5 nomi di persona uno per riga.

Stampare l'elenco in ordine alfabetico decrescente in maiusolo.

Esempio di esecuzione:

Inserire un elenco di 5 nomi

1: Antonella

2: Rita

3: Valeria

4: Cinzia

5: Marina

ELENCO IN ORDINE ALFABETICO DECRESCENTE:

VALERIA RITA MARINA CINZIA ANTONELLA

Soluzione

────══════♦☆♦══════────

Esercizio 10

Argomenti: input(), print() (con parametri sep, end), liste, len, sort con reverse=True, upper

Chiedere all'utente di inserire un elenco di 5 nomi di persona uno per riga.

Stampare l'elenco dei nomi di lunghezza maggiore di 6, in ordine alfabetico decrescente in maiusolo, separato da spazio.

Esempio di esecuzione:

Inserire un elenco di 5 nomi

1: Antonella

2: Rita

3: Valeria

4: Cinzia

5: Marina

ELENCO IN ORDINE ALFABETICO DECRESCENTE DEI NOMI LUNGHI:

VALERIA ANTONELLA

────══════♦☆♦══════────

Esercizio 11

Argomenti: input(), print() (con parametri sep, end), liste, sort, len, operatore in

Chiedere all'utente di inserire un elenco di nomi, uno per riga. Terminare con <INVIO>.

Stampare l'elenco completo in ordine alfabetico, sulla stessa riga, separato da spazio.

Chiedere all'utente di inserire ciclicamente un nome (che può essere o meno in elenco). Terminare con <INVIO>

Il programma, in corrispondenza di ogni nome inserito indica se esso è presente o meno in elenco.

Esempio di esecuzione:

Inserire un elenco di nomi e terminare con <INVIO>

1: Antonio

2: Roberto

3: Valerio

4: Marco

5: Gennaro

ELENCO IN ORDINE ALFABETICO:

Antonio Gennaro Marco Roberto Valerio

Inserire un nome: Marco

Marco è in elenco

Inserire un nome: Matteo

Matteo non è in elenco

Inserire un nome:

Soluzione

────══════♦☆♦══════────

Esercizio 12

Argomenti: input(), print() (con parametri sep, end), liste, sort, len, operatore in

Chiedere all'utente di inserire un elenco di nomi, uno per riga. Terminare con <INVIO>.

Stampare l'elenco completo in ordine alfabetico, sulla stessa riga, separato da spazio.

Chiedere all'utente di inserire ciclicamente un nome (che può essere o meno in elenco). Terminare con <INVIO>.

Il programma, in corrispondenza di ogni nome inserito, verifica se esso è presente o meno in elenco. Nel caso in cui il nome non è presente, lo inserisce in elenco.

Stampa l'elenco aggiornato.

Esempio di esecuzione:

Inserire un elenco di nomi e terminare con <INVIO>

1: Antonio

2: Roberto

3: Valerio

4: Marco

5: Gennaro

6:

ELENCO IN ORDINE ALFABETICO:

Antonio Gennaro Marco Roberto Valerio

Inserire un nome: Marco

Marco è in elenco

Inserire un nome: Matteo

Matteo non è in elenco ed è stato inserito

Inserire un nome:

ELENCO AGGIORNATO:

Antonio Gennaro Marco Roberto Valerio Matteo

────══════♦☆♦══════────

Esercizio 13

Argomenti: input(), print(), liste, tuple, dizionari, len, operatori in e not in

Definire un dizionario che consente di mettere in relazione le classi e gli alunni di seguito riportati:

1D: Antonio Russo, Anna Bella, Sara Prisco

2D: Francesco Liguori, Anna Langella, Teresa Verde,

3D: Antonella Elia, Rita Rossi, Teresa Bianchi

Acquisire ciclicamente da tastiera classe, nome e cognome, fin quando la classe non è una stringa vuota.

Se la classe non esiste, ignorare l'input e avvisare l'utente.

Se l'anagrafica acquisita non è già presente nella classe inserirla, diversamente scartare l'input e avvisare l'utente.

Prima di terminare stampare il dizionario aggiornato.

Esempio di esecuzione: 

classe: 2F

nome: Antonio

cognome: Izzo

2F non eistente

classe: 2D

nome: Antonio

cognome: Izzo

('Antonio', 'Izzo') inserito in 2D 

classe: 2D

nome: Antonio

cognome: Izzo

('Antonio', 'Izzo') già presente in 2D 

classe: 

{'1D': [('Antonio', 'Russo'), ('Anna', 'Bella'), ('Sara', 'Prisco')], '2D': [('Francesco', 'Liguori'), ('Anna', 'Langella'), ('Teresa', 'Verde'), ('Antonio', 'Izzo')], '3D': [('Antonella', 'Elia'), ('Rita', 'Rossi'), ('Teresa', 'Bianchi')]}

Soluzione

────══════♦☆♦══════────

Esercizio 14

Argomenti: input(), print(), liste, tuple, dizionari, len, operatori in e not in

Definire un dizionario che consente di mettere in relazione un docente con la classe in cui insegna e la materia insegnata :

Antonio Izzo: 1D Matematica, 1D Fisica, 2D Matematica

Maria Ametrano: 2D Italiano

Valeria De Santis: 1D Inglese, 2D Inglese

Acquisire ciclicamente da tastiera nome e cognome di un insegnante e verificare se è presente o meno nel dizionario. Terminare quando il nome è una stringa vuota.

Se l'insegnate non è presente nel dizionario, acquisire classe e insegnamento e inserirlo nel dizionario.

Se l'insegnante è già presente ignorare l'input.

Al termine stampare il dizionario aggiornato.

Esempio di esecuzione: 

nome: Antonio

cognome: Izzo

Antonio Izzo è nel dizionario

nome: Roberto

cognome: Polito

classe: 4L

inegnamento: Latino

nome: 

{('Antonio', 'Izzo'): [('1D', 'Matematica'), ('1D', 'Fisica'), ('2D', 'Matematica')], ('Maria', 'Ametrano'): ['2D', 'Italiano'], ('Valeria', 'De Santis'): [('1D', 'Inglese'), ('2D', 'Inglese')], ('Roberto', 'Polito'): [('4L', 'Latino')]}

────══════♦☆♦══════────

Esercizio 15

Argomenti: input(), print(), liste, tuple, dizionari, len, operatori in e not in

Caricare dinamicamente un dizionario strutturato nel seguente modo:

chiave: nome e cognome

valore: data di nascita e sesso

Terminare il caricamento quando il nome è una stringa vuota.

Stampare il numero di elementi (chiavi) che costituiscono il dizionario.

────══════♦☆♦══════────

Esercizio 16

Argomenti: input(), print(), liste, tuple, dizionari, len, operatori in e not in, for

Si consideri il dizionario così definito

gruppi_classe = {

    "1D": [("Antonio", "Russo"), ("Anna", "Bella"), ("Sara", "Prisco")],

    "2D": [("Francesco", "Liguori"), ("Anna", "Langella"), ("Teresa", "Verde")],

    "3D": [("Antonella", "Elia"), ("Rita", "Rossi"), ("Teresa", "Bianchi")]

    }

Utilizzando il ciclo for, stampare tutti gli elementi del dizionario, un elemento alla volta, rispettando il seguente layout

classe: 1D

Antonio Russo   Anna Bella   Sara Prisco   

classe: 2D

Francesco Liguori   Anna Langella   Teresa Verde   

classe: 3D

Antonella Elia   Rita Rossi   Teresa Bianchi   

Acquisire ciclicamente da tastiera classe, nome e cognome, fin quando la classe non è una stringa vuota.

Se l'elemento indicato è presente nel dizionario, rimuoverlo.

Al termine stampare il dizionario dopo l'aggiornamento.

Soluzione

────══════♦☆♦══════────

Esercizio 17

Argomenti: input(), print(), stringhe, for

Chiedere all'utente di inserire una frase "celebre".

Effettuare il conteggio delle vocali incluse nella frase.

Stampare il conteggio per ogni vocale.

────══════♦☆♦══════────

Esercizio 18

Argomenti: input(), print(), stringhe, insiemi, for

Chiedere all'utente di inserire una frase "celebre".

Effettuare la stampa di tutte le lettere che compongono la frase, in maiuscolo e senza ripetizioni.

Nota:

Utilizzare la struttura dati "insieme"

z = set()      # definisce un insieme vuoto

z.add(x)       # aggiunge x all'insieme

────══════♦☆♦══════────

Esercizio 19

Argomenti: input(), print(), liste, tuple, dizionari, len, operatori in e not in, for, try/except

Con riferimento alla soluzione dell'esercizio N. 16, gestire le eccezioni con il blocco try/except.

────══════♦☆♦══════────

Esercizio 20

Argomenti: input(), print(), dizionari, for, try/except

Si consideri il seguente dizionario

    gruppi_classe = {

    "1D": ["Antonio Russo", "Anna Bella", "Sara Prisco"],

    "2D": ["Francesco Liguori", "Anna Langella", "Teresa Verde"],

    "3D": ["Antonella Elia", "Rita Rossi", "Teresa Bianchi"]

    }

Chiedere all'utente di inserire una stringa di testo.

Gestendo le eccezioni con il blocco try/except, effettuare le seguenti operazioni:

────══════♦☆♦══════────

Esercizio 21

Argomenti: input(), print(), liste, try/except, funzioni

Definire le seguenti funzioni per la gestione di una lista:

Effettuare il test delle funzioni.