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.

Test eserciziario con (tree, x) [poll]

a
alex_andrei13 (3800 points)
15 41 53
in Eserciziario d'esame by (3.8k points)
Buongiorno a tutti!

Stavo svolgendo l'esercizio 14 dell'eserciziario d'esame ma non riesco a capire una cosa. Spesso per aiutarmi uso if __name__ == '__main__' ma non riesco a comprendere bene cosa ci devo mettere come valore a tree per eseguirlo. Lascio la consegna:

'''
      Es 2: 6 punti
      Si definisca la funzione es14(tree,x) ricorsiva (o che fa uso di funzioni o metodi ricorsive/i)
      che riceve come argomenti:
      -  'tree' un  albero  formato da nodi di tipo AlberoBinario definito nella libreria
          albero.py allegata
      - un intero x
      - calcola il numero di nodi che nell'albero che hanno valore divisibile per x
      - torna come risultato il numero calcolato

      ATTENZIONE: E' VIETATO USARE I METODI DELLA LIBRERIA albero

      Esempio: se x = 2 e l'albero e':

              7
              /\
            1  3
            / \
          4    6
        /    /
        5    2
      /     \
      9       8

  Nell'albero ci sono 3 nodi con valore divisibile per 2+livello (sono i nodi a valore 3,4 e 5)
  cosi'  la funzione tornera' il valore 3.
  '''

Ringrazio tutti in anticipo
### no choices found for poll!
398 views
closed

2 Answers

Best answer
anaran (7090 points)
3 5 37
by (7.1k points)
selected by
Come valore a tree devi mettere un oggetto di classe AlberoBinario. Costruisciti un AlberoBinario. Nella libreria di albero (di solito) c'è un metodo chiamato fromList, che ti permette di generare un albero binario a partire da una lista (trovi i dettagli nella documentazione del metodo.). Dunque per crearlo fai mioalbero = albero.AlberoBinario.fromList('la tua lista') , e ci metti lui dentro la funzione.
a
alex_andrei13 (3800 points)
15 41 53
by (3.8k points)
Ti ringrazio molto più chiaro!
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
va bene per fare dei test ma all'esame è proibito usare fromList e toList
James_F (6070 points)
10 14 47
by (6.1k points)

@andrea.sterbini  prof. per testare un input all'esame dobbiamo costruirci l'albero nodo per nodo come visto a lezione? (il tutto sotto if __name__ == '__main__': ovviamente)

a
alex_andrei13 (3800 points)
15 41 53
by (3.8k points)
All'esame come possiamo verificare il risultato con if __name__ == '__main__' senza usare fromList e toList?

La ringrazio in anticipo!
c
campobassof (1060 points)
3 4 14
by (1.1k points)
Devi chiamare la funzione, non tree.
a
alex_andrei13 (3800 points)
15 41 53
by (3.8k points)
Non penso di aver capito :-)