Forum
>>
Principianti
>>
informazione su come python interpreta i programmi
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Carlo85 |
2020-04-11 16:51:31 - informazione su come python interpreta i programmi
|
ciao a tutti,
sto imparando ad utilizzare python, e facendo un esercizio mi sono accorto di un quid di strano, almeno per me questa è la mia main: def main (): initComandi() while True: print("ciao, ci troviamo in",os.getcwd(),"\n") print(MENU) comando = accettaComando() if eseguiOrdine(comando) == Quitter: print("aaaahiaaa") break initComandi va a riempire un dizionario che funge da tabella di salto MENU dice all'utente cosa può scegliere di fare (es. 1 visualizza i file della pwd, 2 vai nella cartella superiore, etc etc etc) accettaComando chidee all'utente di digitare un numero e controlla che sia inizializzato nella tabella di salto inizialmente avevo messo prima eseguiOrdine (che va a dare il via alla funzione scelta) e poi l'if con il quit, però mi sono accorto che così facendo qualsiasi comando dessi veniva eseguito per ben due volte (quindi ad esempio andavo nella cartella genitore della cartella superiore della pwd), quindi ho rimosso eseguiOrdine ed ho lasciato solo l'if.. quit per assicurarmi di dare il break come mai il programma così strutturato lavora egregiamente? a lume di naso il fatto che eseguiOrdine stia dentro un if non dovrebbe impedire di eseguire quel comando? spero di essermi spiegato bene --- Ultima modifica di Carlo85 in data 2020-04-11 16:52:01 --- |
|
Scritto da giuseppeb |
2020-04-12 07:34:50 - Re: informazione su come python interpreta i programmi
|
Ciao,
non si capisce il funzionamento del codice che hai incollato perché manca l’indentazione obbligatoria indispensabile per capire dove si chiudono la if e gli altri costrutti. Giuseppe |
|
Scritto da giuseppeb |
2020-04-12 07:34:52 - Re: informazione su come python interpreta i programmi
|
--- Ultima modifica di giuseppeb in data 2020-04-12 07:36:39 ---
|
|
Scritto da Carlo85 |
2020-04-12 10:22:58 - Re: informazione su come python interpreta i programmi
|
eppure quando l'avevo incollato c'era....
def main (): initComandi() while True: print("ciao, ci troviamo in",os.getcwd(),"\n") print(MENU) comando = accettaComando() #eseguiOrdine(comando) if eseguiOrdine(comando) == Quitter: print("aaaahiaaa") break adesso? PS Buona Pasqua a tutti!! --- Ultima modifica di Carlo85 in data 2020-04-12 10:23:49 --- |
|
Scritto da RicPol |
2020-04-12 11:15:15 - Re: informazione su come python interpreta i programmi
|
Beh quella è una funzione. Se la chiami una volta, la esegui una volta. Se la chiami due volte, la esegui due volte.
(che cosa succede se la chiami tre volte è lasciato come esercizio). E non è eseguita "dentro" un if: "dentro" un if ci sta appunto tutto ciò che è rientrato rispetto all'if. Il consiglio è sempre, sempre, sempre quello: imparare Python seguendo un buon manuale passo-passo. Il Lutz è sempre una buona scelta. https://pythoninwindows.blogspot.com/p/i-miei-libri.html : i miei libri
https://pythoninwindows.blogspot.com : il mio blog |
Pagina: 1
Esegui il login per scrivere una risposta.