Liste 5 - Challenges
Scarica zip esercizi
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 minuscoloNON scrivere costanti come
"sonny"
/"Sonny"
nella soluzioneNON 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
[ ]: