Forum
>>
Principianti
>>
il salto condizionato
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da claugo |
2020-08-03 19:48:00 - il salto condizionato
|
Buon Giorno a tutti
Io vengo da una programmazione visual basic e alcune volte mi trovo in difficoltà nel capire la meccanica di certe funzioni o routine di python. Il caso del salto condizionato.... In basic la procedura del GOTO è molto semplificata IF THEN GOTO e il GOTO può essere un nome o un numero di riga,e naturalmente si può trovare in qualsiasi punto del programma. In python non sono riuscito a trovare un esempio pratico se non il loop che si crea in un blocco di istruzioni ma tutte raggruppate come nel ciclo While o For. Inoltre, leggendo qua e là nella rete, sembra che i programmatori di python non sopportino minimamente questo GOTO. Qualcuno sarebbe così gentile di crearmi un esempio di salto condizionato in un qaulsiasi punto del programma. Grazie a tutti |
|
Scritto da RicPol |
2020-08-03 22:38:10 - Re: il salto condizionato
|
In python i programmi non si organizzano in questo modo, semplicemente.
Ma il fatto è che è veramente difficile, ormai, trovare dei linguaggi di programmazione (sia pure procedurali come Python) che hanno dei "goto" espliciti. E' un tipo di controllo di flusso che i linguaggi moderni hanno abbandonato, e con ottime ragioni. Il "sostituto", per dirla molto alla buona, sono le funzioni. Tu dichiari una funzione, e puoi chiamarla in punti arbitrari del codice (condizionatamente o meno). E' come il gosub del vecchio (visual)basic, ma ovviamente moltiplicato alla millesima potenza, che consente di fare molto ma molto di più. Un programma Python, come del resto capita per tutti i moderni programmi procedurali, si organizza componendo funzioni in modo che si chiamino tra di loro, a partire (tipicamente) da una funzione "main" che serve da "entry point". Inoltre, siccome Python consente anche (e soprattutto!) di programmare con il paradigma a oggetti, un programma Python prevede la scrittura di classi e la creazione e manipolazione di oggetti. Detto questo, la verità è che non ti conviene proprio affrontare Python cercando di fare analogie con i vecchi paradigmi del basic. E' un po' come se un naturalista dell'antica Grecia arrivasse qui oggi e chiedesse dove sono andati a finire aria-acqua-terra-fuoco, e con che cosa li abbiamo sostituiti. Ti conviene cancellare tutto, studiare Python su un buon manuale come se fosse la prima volta che apri un computer, imparare poco per volta a organizzare un programma in Python, e poi... molto nel futuro... potrai anche renderti conto di eventuali parallelismi e somiglianze, ma solo dopo un bel po' di tempo. https://pythoninwindows.blogspot.com/p/i-miei-libri.html : i miei libri
https://pythoninwindows.blogspot.com : il mio blog |
|
Scritto da claugo |
2020-08-03 23:22:38 - Re: il salto condizionato
|
Si, capisco benissimo cosa intendi.
Purtroppo quando hai usato per tanto tempo un linguaggio cerchi sempre delle similitudini per capire meglio. Comunque è una pratica abbastanza regolare ed è come quando impari una lingua fai la similitudine tra una frase che sai già nella tua lingua con la lingua che stai imparando. "come Stai" = "how are you". Sembra banale ma aiuta. Diverso sarebbe se tu cominciassi da zero e non puoi fare nessun confronto perche la tua mente è ancora libera. Ti chiederei di farmi un esempio pratico se non ti disturba troppo. Tra l'altro ho notato una cosa nella programmazione python e cioè che se vuoi aggiungere una funzione o un qualsiasi ciclo While o For, a monte del programma, questo ti comincia a dare errori su errori perchè sembra che non sappia riconoscere dove inizia il ciclo e dove finisce. Io uso idle di pyton per creare i programmi. Comunque è chiaro, qui non si parla di creare grandi e complessi programmi, ma programmi con strutture molto semplici al fine di vedere se un numero dato è maggiore o inferiore a un risultato matematico. Grazie ancora |
|
Scritto da RicPol |
2020-08-03 23:53:31 - Re: il salto condizionato
|
> ed è come quando impari una lingua fai la similitudine...
Sì, bene. E io invece ti ho detto che fare queste similitudini non ha senso. E che invece di incaponirti nelle similitudini, ti conviene azzerare tutto. E ricominciare. E studiare un buon libro daccapo, senza pre-concetti. Ma chiaramente, invece, figurati, come preferisci, come ti senti più a tuo agio, ci mancherebbe. > un esempio pratico Sì, bene. E invece un "esempio pratico", per quanto sia sempre il Sacro Graal di chi posta su un forum, è assurdo in questo caso, perché in Python non esiste il GOTO e non si può fare un esempio pratico di GOTO, e una chiamata di funzione sta al GOTO come un secchio di bulloni sta all'odore delle begonie. E quindi eccoti il tuo "esempio pratico": def una_funzione(a, b): return a + b def un_altra_funzione(a, b): c = una_funzione(a, b) # GOTO!! GOTO!! return cEcco... e adesso partiamo con la filosofia. Un "esempio pratico" di chiamata di funzione, è un "esempio pratico" di GOTO? No, assolutamente. O forse invece sì? Dopo tutto si può dire che una chiamata di funzione sia simile al GOTO? No... o sì... o tutt'e due? E pensare al GOTO, permette di capire meglio che cosa fa una chiamata di funzione in Python? Boh? Forse... no... o sì... o no... o sì... Nel tempo che uno ci mette a pensare a questa cosa, ha già fatto in tempo a leggersi i primi due capitoli del Lutz... https://pythoninwindows.blogspot.com/p/i-miei-libri.html : i miei libri
https://pythoninwindows.blogspot.com : il mio blog |
|
Scritto da claugo |
2020-08-04 11:39:13 - Re: il salto condizionato
|
Grazie comunque
L'esempio è stato interessante e vedrò di trovare una soluzione. --- Ultima modifica di claugo in data 2020-08-06 00:10:53 --- |
Pagina: 1
Esegui il login per scrivere una risposta.