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.

troppi se e troppi ma

1794095 (990 points)
5 13 22
in Es2 by (990 points)
il secondo esercizio ha all'incirca 9 elif, un, if e un else va bene comunque?

visto che viene verificato anche se hanno troppe if
411 views
closed

2 Answers

Best answer
LeonardoEmili (35740 points)
13 65 155
by (35.7k points)
selected by

Ciao!

Il problema non sta tanto in quanti if elif else tu utlizzi ma quanti di questi sono davvero necessari!

La cosa migliore che puoi provare a fare è ragione su come toglierne qualcuno, nel caso pensi di averne trovato uno di "troppo" prova a toglierlo e se il tuo ragionamento è corretto vedrai che il grader ti ringrazierà! (per quanto riguarda la complessità ciclomatica ovviamente).

E' logico che in alcuni casi si rendono necessari l'utilizzo di molti if, ma una cosa che puoi evitare sicuramente è inserire troppi if/elif nidificati all'interno di altri! Ti faccio un esempio: se il testo chiede esplicitamente come input un testo o un numero naturale puoi tranquillamente evitare controlli del tipo is str oppure controllare se il valore del numero è non negativo, puoi tranquillamente assumere che tali valori siano corretti.

Ti auguro una buona giornata!

Leonardo Emili

LeonardoEmili (35740 points)
13 65 155
by (35.7k points)
Grazie per aver scelto la mia come miglior risposta! Felice di averti aiutato, se hai qualche dubbio non esitare a chiedere!
edoardo (7090 points)
19 52 67
by (7.1k points)

Volendo puoi usare anche 1000 if/elif/else, anche se, ovviamente, il tuo programma ne risentirà in tempistica! Qui, comunque, entra in gioco la "complessità ciclomatica". Ti consiglio di dare un'occhiata https://it.wikipedia.org/wiki/Complessit%C3%A0_ciclomatica

Comunque sì, vanno bene se il programma gira entro i parametri stabiliti.