Funzioni 5 - esercizi con tuple

Esercizio - giunto

✪✪ Scrivi una funzione che date due tuple di caratteri ta e tb aventi ciascuna caratteri diversi (possono essere anche vuote), se la tupla ta termina con lo stesso carattere con cui tb inizia, RITORNA la concatenazione di ta e tb SENZA caratteri duplicati, altrimenti RITORNA una tupla vuota.

Esempio:

>>> giunto(('m','e','s'), ('s','a','g','e','r','o'))
('m','e','s','a','g','g','e','r','o')
>>> giunto(('c','u'), ('o','r','e'))
()
Mostra soluzione
[1]:
def giunto(ta,tb):
    raise Exception('TODO IMPLEMENT ME !')

assert giunto(('m','e','s'), ('s','a','g','g','e','r','o')) == ('m','e','s','a','g','g','e','r','o')
assert giunto(('o','r'), ('r','o','r','e')) == ('o', 'r', 'o', 'r','e')
assert giunto(('c','u'), ('o','r','e')) == ()
assert giunto((),('e','f','g')) == ()
assert giunto(('a',),('e','f','g')) == ()
assert giunto(('a','b','c'),()) == ()
assert giunto(('a','b','c'),('d','e')) == ()

Esecizio - nasty

✪✪✪ Date due tuple ta di caratteri e tb di numeri interi positivi, scrivi una funzione nasty che RITORNA una tupla avente stringhe da due caratteri: il primo carattere è preso da ta, e il secondo carattere è un numero preso dalla posizione corrispondente in tb. Le stringhe vengono ripetute per un numero di volte pari a quel numero.

>>> nasty(('u','r','g'), (4,2,3))
('u4', 'u4', 'u4', 'u4', 'r2', 'r2', 'g3', 'g3', 'g3')

>>> nasty(('g','a','s','p'), (2,4,1,3))
('g2', 'g2', 'a4', 'a4', 'a4', 'a4', 's1', 'p3', 'p3', 'p3')
Mostra soluzione
[2]:
def nasty(ta, tb):
    raise Exception('TODO IMPLEMENT ME !')

# INIZIO TEST - NON TOCCARE !
assert nasty(('a',), (3,)) == ('a3','a3','a3')
assert nasty(('a','b'), (3,1)) == ('a3','a3','a3','b1')
assert nasty(('u','r','g'), (4,2,3)) == ('u4', 'u4', 'u4', 'u4', 'r2', 'r2', 'g3', 'g3', 'g3')
assert nasty(('g','a','s','p'), (2,4,1,3)) == ('g2', 'g2', 'a4', 'a4', 'a4', 'a4', 's1', 'p3', 'p3', 'p3')
# FINE TEST

Prosegui

Continua con esercizi su funzioni e insiemi