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.

Eccezioni, if e or

A
Adriano (940 points)
7 16 23
in Programmare in Python by (940 points)
edited by
Buonasera,
se ho ad esempio un >>>if x or y or k or z; come posso ignorare un errore su uno o più OR considerando comunque gli altri?
Se prima uso "try" e poi "except IndexError: pass" , nel caso in cui uno degli OR mi da l'errore, l'intera condizione viene ignorata, mentre io vorrei che ignorasse esclusivamente quell'OR. Qualcuno ha qualche idea?
319 views
closed

2 Answers

Best answer
G
GiuseppeLaRocca (1170 points)
4 15 28
by (1.2k points)
selected by
Non è che la condizione viene considerata falsa; se l'operazione genera un errore il programma si arresta, quindi lo scopo del  'except' è proprio quello di evitare che il programma si blocchi eseguendo altre istruzioni. Comunque sia non credo che ci sia un soluzione diretta a questo problema, ma dovresti aggirarlo proprio nel 'except'.
A
Adriano (940 points)
7 16 23
by (940 points)
Esatto, ho appena corretto.  Immaginavo che non ci fosse una soluzione diretta ma non si sa mai
G
GiorgioAgosta (2880 points)
6 24 42
by (2.9k points)
Ciao, utilizzando l operatore OR per collegare le varie condizioni (x,y,z etc) per entrare bell IF basta che almeno 1 di questi ritorni TRUE, quindi se le istruzioni contenute nell IF non vengono mai svolte significa che tutte le condizioni sono false.
Per essere sicuro metti dei print così da vedere l esito delle varie condizioni.
Spero di averti aiutato, in caso pubblica qualche screen di cio che ti mostra il PRINT cosi possiamo aiutarti meglio.
A
Adriano (940 points)
7 16 23
by (940 points)
Ho scritto male, scusami. Volevo dire che vedendo l'errore il programma non considera l'intera condizione(vera o falsa che sia) e passa avanti. Ovvero, se uno degli OR mi da l'errore salta tutta la condizione e tutto il resto che si trova fra "try" e "except IndexError: pass"