Challenges funzioni -

Scarica zip esercizi

Naviga file online

Proponiamo ora degli esercizi senza soluzione, accetti la sfida?

Sfida - I numeri di Pacman

✪ Requisiti: funzioni

Pacman è a lezione di matematica, e gli viene spiegato che per ottenere il quadrato di un numero bisogna moltiplicarlo per se stesso. Aiutalo a imparare questo concetto scrivendo una funzione che permetterà al nostro famelico amico di ottenere il quadrato di innumerevoli numeri. Però ha imparato solo a fare moltiplicazioni di numeri inferiori a 20 e NON E’ quindi capace di moltiplicare numeri sopra il 20, per i quali risponderà lo stesso numero.

  • NON scrivere print nella funzione!

Esempio 1:

>>> y = numnum(10)
>>> y
100

Esempio 2:

>>> z = numnum(33)
>>> z
33
[1]:

def numnum(num):
    # sostituisci pass (che non fa niente) con il codice della funzione
    pass




# NON TOCCARE, queste linee devono funzionare
x = numnum(3)       # Deve RITORNARE 9
print(x)

y = numnum(10)      # Deve RITORNARE 100
print(y)

z = numnum(33)      # Deve RITORNARE 33
print(z)
9
100
33

Sfida - Pacman e i bulli

✪✪ Requisiti: funzioni, stringhe, for, if

Uscito da scuola il nostro eroe dei labirinti incontra un gruppo di ragazzini che per prenderlo in giro iniziano a cantilenargli il suo iconico verso, storpiandolo:

INVECE di "waka waka waka waka waka"

i bulli gli cantano "waekai waekai waekai waekai"

ed altre storpiature simili ottenute AGGIUNGENDO lettere al verso normale.

I bulli non aggiungono mai lettere corrette. Perchè sono bulli.

Aiuta PacMan scrivendo una funzione nobulli che pulisca dalle storpiature i versi dei bulli.

  • NON scrivere print nella funzione!

Esempio:

>>> bullo1 = "waekai waekai waekai waekai"
>>> res1 = nobulli(bullo1)
>>> print(res1)
waka waka waka waka
  1. scrivi una prima versione nobulli(stringa) che assume che i caratteri desiderati da mantenere siano sempre ‘w’,’a’,’k’,’a’

  2. scrivi una seconda versione nobulli2(stringa, mantieni) che prende anche in ingresso una stringa coi caratteri da mantenere

[2]:
# scrivi la funzione



# NON TOCCARE, queste linee devono funzionare
bullo1 = "waekai waekai waekai waekai"
bullo2 = "bwaka rwaka swaka twaka zwaka mmmwatka"
bullo3 = "eweaekea zwxarkma qwoagkpa"
res1 = nobulli(bullo1)   # Deve RITORNARE il verso pulito "waka waka waka waka"
print(res1)
res2 = nobulli(bullo2)   # Deve RITORNARE il verso pulito "waka waka waka waka waka waka"
print(res2)
res3 = nobulli(bullo3)   # Deve RITORNARE il verso pulito "waka waka waka"
print(res3)
waka waka waka waka
waka waka waka waka waka waka
waka waka waka

I biscotti danesi

✪✪ Tornato a casa, per consolarsi dalle offese, PacMan si butta su una scatola di biscotti (di quelle con la confezione di latta rotonda).

Nella scatola ci sono 8 diversi tipi di biscotti e dopo averne mangiati un po’ si accorge con orrore che ha lasciato che rimanesse un numero dispari di biscotti per alcune tipologie.

Ovviamente l’offesa va sanata: scrivi una funzione mangia che data una lista la MODIFICA per mangiare (e quindi togliere) un biscotto di tutti i tipi rimasti dispari.

  • NON scrivere returnprint nella funzione!

Esempio:

>>> scatola = [2, 5, 3, 8, 6, 24, 5, 3, 9]
>>> mangia(scatola)
>>> print(scatola)
[2, 4, 2, 8, 6, 24, 4, 2, 8]
[3]:
# scrivi la funzione




# NON TOCCARE, queste linee devono funzionare
scatola1 = [3, 3, 3, 3, 3]
scatola2 = [1, 3, 5, 7, 9]
scatola3 = [19, 3, 14, 1, 10, 9, 2, 16, 8, 7, 13, 11, 18, 17, 6, 5, 4, 12, 20, 15]

mangia(scatola1)  # deve MODIFICARE scatola1
mangia(scatola2)
mangia(scatola3)

print(scatola1) # Deve stampare la lista [2, 2, 2, 2, 2]
print(scatola2) # Deve stampare la lista [0, 2, 4, 6, 8]
print(scatola3) # Deve stampare la lista [18, 2, 14, 0, 10, 8, 2, 16, 8, 6, 12, 10, 18, 16, 6, 4, 4, 12, 20, 14]


print(mangia([2,4,5,7])) # DEVE stampare None. Perchè ?
[2, 2, 2, 2, 2]
[0, 2, 4, 6, 8]
[18, 2, 14, 0, 10, 8, 2, 16, 8, 6, 12, 10, 18, 16, 6, 4, 4, 12, 20, 14]
None