Esame Ven 16, Apr 2021 A

Seminari Python @Sociologia, Università di Trento

Scarica esercizi e soluzioni

Esercizio - prendilettere

✪ Data una frase che contiene esattamente 3 parole e ha sempre come parola centrale un numero \(n\), scrivi del codice the STAMPA i primi \(n\) caratteri della terza parola

Esempio - data:

frase = "Prendi 4 lettere"

il tuo codice deve stampare:

lett
Mostra soluzione
[2]:

frase = "Prendi 4 lettere"       # lett
#frase = "Prendere 5 caratteri"  # carat
#frase = "Take 10 characters"    # characters

# scrivi qui


Esercizio - brico

✪✪ Un magazzino per appassionati del fai da te dispone di un catalogo che associa tipologie di oggetti agli scaffali dove posizionarli. Ogni giorno, una lista di arrivi viene popolata con le tipologie di oggetti arrivati. Tali tipologie vanno collocate nel magazzino, un dizionario che associa ad ogni scaffale la tipologia di oggetto prescritta dal catalogo. Scrivi del codice che data la lista di arrivi e il catalogo, popola il dizionario magazzino.

Esempio - dati:

arrivi = ['sedie', 'lampade', 'cavi']

catalogo = {'stufe' : 'A',
            'sedie' : 'B',
            'caraffe' : 'D',
            'lampade' : 'C',
            'cavi' : 'F',
            'giardinaggio' : 'E'}

magazzino = {}

dopo il tuo codice deve risultare:

>>> magazzino
{'B': 'sedie', 'C': 'lampade', 'F': 'cavi'}
Mostra soluzione
[3]:

arrivi = ['sedie', 'lampade', 'cavi']  # magazzino diventa:  {'B': 'sedie', 'C': 'lampade', 'F': 'cavi'}
#arrivi = ['caraffe', 'giardinaggio']  # magazzino diventa:  {'D': 'caraffe', 'E': 'giardinaggio'}
#arrivi = ['stufe']                    # magazzino diventa: {'A': 'stufe'}

catalogo = {'stufe' : 'A',
            'sedie' : 'B',
            'caraffe' : 'D',
            'lampade' : 'C',
            'cavi' : 'F',
            'giardinaggio' : 'E'}

# scrivi qui


Esercizio - La parola più lunga

✪✪ Scrivi del codice che data una frase, stampa la lunghezza della parola più lunga.

  • NOTA: vogliamo solo sapere la lunghezza della parola più lunga, non la parola stessa !

Esempio - data:

frase = "La strada si inerpica lungo il ciglio della montagna"

il tuo codice dovrà stampare

8

che è la lunghezza delle parole più lunghe che sono a parimerito inerpica e montagna

Mostra soluzione
[4]:

frase = "La strada si inerpica lungo il ciglio della montagna" # 8
#frase = "Il temibile pirata Le Chuck dominava spietatamente i mari del Sud"  # 13
#frase = "Praticamente ovvio" # 12

# scrivi qui


Esercizio - splash

✪✪✪ Data una lista di lunghezza dispari riempita di zeri eccetto il numero in mezzo, scrivi del codice che MODIFICA la lista per scrivere numeri che decrescano mano a mano che ci si allontana dal centro.

  • la lunghezza della lista è sempre dispari

  • assumi che la lista sarà sempre di lunghezza sufficiente per arrivare ad avere zero in ciascun bordo

  • una lista di dimensione 1 conterrà solo uno zero

Esempio 1 - data:

lista = [0, 0, 0, 0, 4, 0, 0, 0, 0]

dopo il tuo codice, deve risultare:

>>> lista
[0, 1, 2, 3, 4, 3, 2, 1, 0]

Esempio 2 - data:

lista = [0, 0, 0, 3, 0, 0, 0]

dopo il tuo codice, deve risultare:

>>> lista
[0, 1, 2, 3, 2, 1, 0]
Mostra soluzione
[5]:

lista = [0, 0, 0, 0, 4, 0, 0, 0, 0] # -> [0, 1, 2, 3, 4, 3, 2, 1, 0]
#lista = [0, 0, 0, 3, 0, 0, 0]      # -> [0, 1, 2, 3, 2, 1, 0]
#lista = [0, 0, 2, 0, 0]            # -> [0, 1, 2, 1, 0]
#lista = [0]  # -> [0]

# scrivi qui


Esercizio - accatastare

✪✪✪ Data una stringa e due caratteri car1 e car2, scrivi del codice che STAMPA True se tutte le occorrenze di car1 in stringa sono sempre seguite da car2.

Esempio - data:

stringa,car1,car2 = "accatastare la posta nella stiva", 's','t'

stampa True perchè tutte le occorrenze di s sono seguite da t

stringa,car1,car2 = "dadaista entusiasta", 's','t'

stampa False, perchè viene ritrovata la sequenza si dove s non è seguita da t

  • USA un while, cerca di farlo efficiente terminandolo appena puoi

  • NON usare break

Mostra soluzione
[6]:

stringa,car1,car2 = "accatastare la posta nella stiva", 's','t'  # True
#stringa,car1,car2 = "dadaista entusiasta", 's','t'    # False
#stringa,car1,car2 = "barbabietole", 't','o'           # True
#stringa,car1,car2 = "barbabietole", 'b','a'           # False
#stringa,car1,car2 = "a", 'a','b'                      # False
#stringa,car1,car2 = "ab", 'a','b'                     # True
#stringa,car1,car2 = "aa", 'a','b'                     # False


# scrivi qui


[ ]: