Forum
>>
Principianti
>>
chiarimento esercizio for + if + else
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da kansas |
2015-12-14 18:25:31 - chiarimento esercizio for + if + else
|
Ciao a tutti, faccio parte della categoria principianti^n, scrivo in merito ad un esercizio, qui in seguito, in cui non mi è chiaro come Python esegua i comandi.
primi = 2 candidato=3 while candidato < 100: for primo in primi: if candidato % primo == 0: print(candidato,"è", primo,"*",candidato//primo) break else: print(candidato,"è primo") primi.append(candidato) candidato +=2 Si tratta di un codice che scrive numeri primi: Gli output sono i seguenti 3 è primo, infatti il ciclo for processa solo 3%2 per poi passare al comando else, primi=[2,3] e candidato=5 5 è primo, " ", 5%2 e 5%3 " ", primi=[2,3,5] e candidato=7 7 è primo, " ", 7%2 e 7%3 e 7%5 " ", primi=[2,3,5,7] e candidato=9 9 è 3*3 ecc Faccio fatica ad accettare perché, una volta verificato che 9%3==0, Python esca dal ciclo FOR (essendoci BREAK) e passi direttamente al comando "candidato +=2" senza considerare le istruzioni di ELSE, essendo entrambi sulla stessa indentazione; - E' quindi possibile che ELSE, trovandosi su una indentazione precedente rispetto all' IF, e quindi fuori dal ciclo FOR, sia comunque preso in considerazione come alternativa all'IF? evidentemente si, ma lo accetto a fatica - Oppure ELSE in questo caso è utilizzato come chiusura del ciclo FOR un volta che questo è terminato e le condizioni dell' IF non sono state verificate ? In pratica: se ciclo FOR viene interrotto, tramite validazione della condizione IF, esce dal ciclo saltando ELSE ed eseguendo candidato+=2 se ciclo giunge al termine senza interruzioni, esegui istruzioni di ELSE e poi candidato+=2 per poi ripartire da verifica condizione WHILE Tirando le somme non mi è chiaro come le istruzioni di ELSE possano essere eseguite se IF si trova su indentazione diversa, in particolare più avanzata. Vi ringrazio per i vostri chiarimenti! buona serata --- Ultima modifica di kansas in data 2015-12-15 12:22:14 --- |
|
Scritto da Daniele aka Palmux |
2015-12-14 21:04:16 - Re: chiarimento esercizio for + if + else
|
Ciao caro, purtroppo vedere codice non formattato correttamente in Python mi urta profondamente.
Forse non è chiaro, ma è una parte fondamentale del linguaggio stesso, quindi è imprescindibile per la comprensione tua ed altrui riportarla correttamente. Esiste a tale scopo il pulsante vicino alla tavolozza dei colori per formattare in maniera decente il codice, oppure esistono siti esterni come Pastebin per riportarlo. Detto questo non capisco i tuoi dubbi, cosa ti aspetti che faccia un ciclo if o perché ti stupisci che Python esca da una scelta condizionale visto che espliciti chiaramente di farlo? Non ti seguo dove spieghi e chiedi dell'else e della sua indentazione, quando non l'hai nemmeno messo correttamente nel tuo codice. Visto che deve essere un crescita l'apprendimento di un linguaggio di programmazione, ti consiglio di mettere a posto il tuo codice, formattalo correttamente e leggerti questa documentazione, forse ci sono già tutte le risposte che cerchi. Ciao. Daniele |
|
Scritto da kansas |
2015-12-15 12:30:43 - Re: chiarimento esercizio for + if + else
|
Ho riformattato il codice come doveva essere originariamente, e esplicitato meglio i dubbi.
Rileggendolo e provando in modalità interattiva diverse versioni del posizionamento dell' ELSE in questione ho fatto qualche passo avanti nella comprensione. Grazie comunque per la dritta! Carlo |
|
Scritto da Daniele aka Palmux |
2015-12-15 20:12:59 - Re: chiarimento esercizio for + if + else
|
Bene, ne sono contento, continua così.
Cya |
Pagina: 1
Esegui il login per scrivere una risposta.