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.

Istruzione If ed elif

A
AndreaBolzoni (280 points)
1 2 5
in Programmare in Python by (280 points)
Ciao a tutti!

Mi stavo un po' esercitando con il ciclo while e con le istruzioni if ed elif. Proprio con elif ho avuto più volte dei problemi, in quanto la maggior parte delle volte mi viene fuori "SyntaxError: invalid syntax". Ora, pensando che fosse un mio errore, ho provato a scrivere e riscrivere diverse volte i codici ma niente. Ho anche copiato alcuni codici trovati su libri o su internet per vedere dove sbagliassi ma l'errore persiste. Qualcuno sa a cosa è dovuto? (O anche dove sbaglio io, più probabilmente). Grazie in anticipo!
973 views

4 Answers

francesco.dev (33560 points)
22 51 129
by (33.6k points)
Ciao AndreaBolzoni!
Il problema che ti dà è perché non riconosce l'istruzione elif! Molto probabilmente hai sbagliato qualcosa prima, mi spiego:

Elif va messo dopo il blocco if.
Ricorda che l'elif ha una propria condizione!

Se continui ad avere problemi dimmelo, cercherò di approfondire!

Nel mentre ti lascio la documentazione:
https://www.python.it/doc/Easytut/easytut-it/firsthighlow.html
A
AndreaBolzoni (280 points)
1 2 5
by (280 points)
Intanto grazie! Il blocco elif L ho messo dopo la struttura if, se intendevi questo. Oggi ridò un occhiata e posto qui altre informazioni!
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)
Ciao!
Il tuo problema sembra davvero strano perché hai detto di aver provato a inserire codice preso dal web. Se riesci prova a fornire più dettagli su come lo utilizzi e dove questo elif: si trova. Ciò che posso consigliarti ora come ora è di controllare per bene ogni singolo dettaglio della sintassi, ricorda che in Python gli spazi stessi fanno parte della sintassi quindi una omissione o anche uno spazio di troppo può contribuire a generare errori e confusione.
In attesa di una tua risposta ti auguro una buona giornata.

Leonardo Emili
francesco.dev (33560 points)
22 51 129
by (33.6k points)

AndreaBolzoni, ti riscrivo perché forse ho intuito il tuo errore!
Premettendo che non vi è alcun errore di sintassi dovuto dalla mancanza di qualche operatore ("come i ':' dopo l'uso dell'if, dell'elif o dell'else) e premettendo che il resto del codice sia giusto, visto che ti dà problemi solo a quella determinata riga di codice, posso consigliarti:

  • Di controllare la struttura dell'elif, perché questo deve rispettare la forma elif (condizione): corpo istruzioni
  • Di controllare se la struttura dell'if precedente è esatta e che quindi corrisponde a if (condizione): corpo istruzioni
  • Di controllare se questi due costrutti rispettano la struttura (condizione): corpo istruzioni
  • Di controllare se dopo l'elif vi è un else, perché in questo caso l'else deve rispettare la forma else: corpo istruzioni

Infine ti consiglio vivamente di postare uno pseudo-codice, così da poterti aiutare! Perché da come hai scritto non è sicuro che tale errore sia stato generato alla riga in cui si trovava l'elif!

Aspettando tuoi dettagli, a presto.
E ricorda che sono sempre disponibile!

- Francesco Pio Scognamiglio

A
AndreaBolzoni (280 points)
1 2 5
by (280 points)
Appena mi è possibile oggi  ricontrollo tutto il codice e posto qualche info qui grazie mille! Anche io credo non ci siano errori di sintassi, quindi probabilmente avrò strutturato male o l'if o la struttura dell'elif!
split (8700 points)
21 59 79
by (8.7k points)
ciao!

come ha detto anche leonardo è strano nel momento in cui prendi codice (si suppone corretto) dal web, quindi così su due piedi non saprei cosa consigliarti. però in teoria dovresti controllare meglio l'errore. nelle informazioni sull'errore c'è scritta la linea in cui è stato riscontrato l'errore e la sintassi (con una freccina ad indicarti l'errore) che sarebbe sbagliata, dai un'occhiata lì e magari riportalo sul forum così vediamo di capirlo (senza copia incolla).
A
AndreaBolzoni (280 points)
1 2 5
by (280 points)
Prima di tutto grazie a tutti per L aiuto, secondo, appena oggi torno a casa ridò un occhiata generale a tutto il codice e posto qui maggiori informazioni!