Liste 5 - Challenges

Scarica zip esercizi

Naviga file online

Proponiamo ora degli esercizi senza soluzione, accetti la sfida?

Sfida - iniziamo!

1.1 verdure

✪ Che cosa viene stampato? Come mai?

[1]:

la = ['carote','peperoni','melanzane'] x = la.append('z') print(x) print(la)

1.2 scoiattoli

✪ Che cosa viene stampato? Come facciamo a far si che in lb venga salvata una copia di la che non viene poi riordinata?

[2]:


la = ['scoiattolo nano','scoiattolo volante','scoiattolo grigio'] lb = la la.sort() print(la) print(lb)

1.3 alberi

✪ E in questo caso? Come facciamo a far modificare solo lb?

[3]:

la = ['pino marittimo','abete rosso','larice','sequoia'] lb = la lb.sort() print(la) print(lb)

1.4 ascanio

✪ La faccenda cambia se usiamo reverse() invece di sort()? Perchè?

[4]:

la = ['giulia','ascanio','ernesto','camilla'] lb = la la.reverse() print(la) print(lb)

1.5 ultimo

✪ Svincoliamo pure qui il contenuto di la da quello di lb. Cerca di usare un altro modo

[5]:

la = ['ultimo','last','final','letzte','sist'] lb = la lb.reverse() print(la) print(lb)

1.6 colori

✪ Ci interessa mettere da parte solo gli ultimi colori. Come mai non vengono riordinati al contrario?

[6]:

la= ['rosso pomodoro','arancione','ambra','rosa-arancio','rosso mattone','lillà'] lb= la[2:10] la.reverse() print(la) print(lb)

1.7 officina

✪ Abbiamo degli attrezzi maschili e degli attrezzi femminili (grammaticalmente parlando). Riuniamoli tutti. Come mai se li invertiamo le liste di partenza non cambiano?

[7]:

la = ['cacciavite','martello','mattarello'] lb = ['forbice','pinza','impastatrice'] lc = la + lb lc.reverse() print(la) print(lb) print(lc)

Sfida - Cantina

✪✪ Requisiti: liste

Data una stringa parola, creare una NUOVA lista che contenga la parola seguita da sè stessa rovesciata

  • NOTA: l’ultima lettera NON deve essere duplicata

Esempio - dato:

parola = "cantina"

deve stampare:

['c', 'a', 'n', 't', 'i', 'n', 'a', 'n', 'i', 't', 'n', 'a', 'c']
[8]:

parola = "cantina" # ['c','a','n','t','i','n','a','n','i','t','n','a','c'] #parola = "vino" # ['v', 'i', 'n', 'o', 'n', 'i', 'v'] #parola = "ok" # ['o', 'k', 'o'] # scrivi qui

Sfida - Rupert e Mortimer

✪✪ Requisiti: stringhe, liste

I riccastri Rupert e Mortimer hanno alle dipendenze due faccendieri dalla dubbia reputazione, e non vogliono risulti traccia della loro presenza. Ogni ingresso e uscita dal palazzo di Rupert e Mortimer viene registrato dal guardiano, il quale però è stato appena assunto e sbadatamente ha segnato nel registro anche i nomi dei faccendieri. Scrivi del codice che MODIFICA la lista eliminando i loro nomi.

  • I faccendieri si muovono sempre in coppia e oggi sono entrati e usciti esattamente 1 volta

  • Il tuo codice deve funzionare con qualsiasi lista avente un solo ingresso e 1 una sola uscita, supportando i formati:

    • faccendiere1 e 2

    • faccendiere2 e 1

  • assumi registro contenga solo nomi in minuscolo

  • NON scrivere costanti come "sonny" / "Sonny" nella soluzione

  • NON usare cicli nè if

Esempio - dati:

faccendiere1, faccendiere2 = 'Sonny', 'Lenny'
registro = ['mortimer','rupert', 'rupert','mortimer','sonny e lenny',
            'mortimer', 'rupert',  'lenny e sonny', 'mortimer',
            'mortimer e rupert', 'rupert e mortimer']

dopo il tuo codice, deve risultare:

>>> print(registro)
['mortimer', 'rupert', 'rupert', 'mortimer', 'mortimer', 'rupert',
 'mortimer', 'mortimer e rupert', 'rupert e mortimer']
[9]:

faccendiere1, faccendiere2 = 'Sonny', 'Lenny' registro = ['mortimer','rupert', 'rupert','mortimer','sonny e lenny', 'mortimer', 'rupert', 'lenny e sonny', 'mortimer', 'mortimer e rupert', 'rupert e mortimer'] #faccendiere1, faccendiere2 = 'Joey', 'Vincent' #registro = ['rupert','rupert', 'mortimer e rupert','mortimer', 'mortimer', 'vincent e joey', 'rupert','mortimer', 'joey e vincent','mortimer', 'mortimer e rupert', 'rupert e mortimer'] # scrivi qui

[ ]: