Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

ES2 e' possibile aggiungere degli attributi default ai metodi? (Sì)

j
j.criacci (400 points)
3 6 11
in Es2 by (400 points)
edited by
in esiti ho difficolta a fare un contatore che funzioni ricorsivamente(nello specifico non so come inizializzarlo senza che mi resetti il conto ogni volta) e mi chiedevo se si potesse aggiungere un attributo settato a default( ovvero una lista [patte,o,x]) per ovviare al problema

EDIT:

ho capito quale e' il problema, per una sola chiamata il metodo funzione  ma con molteplici chiamate lavoro sulla stessa lista e i risultati si aggiungono ogni volta a quelli della chiamata precedente, problema per cui accetterei con piacere consigli perche con deepcopy non riesco ad ovviare al problema
398 views

2 Answers

giorgio.belli (10140 points)
24 74 98
by (10.1k points)
edited by
Ciao puoi aggiungere alla funzione un parametro inizialmente a 0 e poi passarlo nelle successive ricorsioni.

Ovviamente per tenerti traccia del contatore te lo devi ritornare ad ogni ricorsione.
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
ragazzi ... questo è codice ....
j
j.criacci (400 points)
3 6 11
by (400 points)
e' quello che stavo dicendo, chiedevo se si potesse fare o meno
perche io l' ho fatto e se faccio io il test e' giusto mentre se lo fa il grader ritorna tutt' altre cifre
giorgio.belli (10140 points)
24 74 98
by (10.1k points)
Avevo generalizzato molto la funzione che avevo scritto per far vedere la ricorsione, comunque ho modificato la risposta e chiedo scusa.:x
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Sì, puoi aggiungere argomenti opzionali ma solo dopo quelli già definiti

oppure puoi calcolare quello che serve nella parte dopo la chiamata ricorsiva e tornarlo come risultato
j
j.criacci (400 points)
3 6 11
by (400 points)
cosa intende prof?
storare il return di ogni chaimata in una variabile?
tipo:
ricorsione():
    se possibile:
         contatore+=ricorsione()
    contatore+=1
    return contatore
in tal caso il problema e' che devo salvare 3 contatori e ho provato con l' unpacking delle tuple(perche esiti deve ritornare una tupla) ma non capisco come incrementare invece che settare e basta
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
quando lo capisci hai imparato :)