Marco Beri mi ha anticipato, concordo con lui Il giorno 3 maggio 2015 21:45, Marco Beri <marcob...@gmail.com> ha scritto:
> > On May 3, 2015 9:21 PM, "Carpediem" <i.carped...@tiscali.it> wrote: > > > > Un saluto a tutti. Grazie al vostro aiuto, ho già risolto più di una > volta alcuni miei dubbi. Ne approfitto ancora sperando nel medesimo > positivo riultato. > > Ho scritto un programmino per esercitarmi sulle notizioni acquisite. > > Nel cercare una soluzione per evitare di ritrovarmi con un messaggio di > errore nel caso in cui in input si immettesse un valore carattere invece di > un numero, ho trovato come soluzione l'utilizzo di try. > > Tutto ok perchè l'istruzione risponde a quanto da me voluto. Il > problema, è che mi ritrovo con le stesse righe di istruzioni ripetute > diverse volte (per giorni, ore, minuti, secondi, decimi e centesimi di > secondo) il che rende il programma seppur funzionante, sicuramente scritto > male. > > Ho provato a creare una funzione ma credo di non aver capito molto bene > come crearne una dato che, in questo caso, non ci sono riuscito avendo > fallito ogni mio tentativo. > > Qui a seguire, vi riporto quanto ho scritto (per i casi di giorni e ore) > ma le stesse righe di istruzioni si ripetono di volta in volta fino a > giungere ai centesimi di secondo e la cosa mi sembra ridicola. > > Avete modo di farmi vedere come dovrebbe essere scritta una funzione per > adattarla a questo caso? Magari è la volta buona che mi rendo conto come ci > si può riuscire. > > Seguono istruzioni scritte per i primi due casi previsti (giorni e ore). > > Grazie a tutti. > > > > > > while True: > > try: > > giorni = eval(input("Inserisci il numero di giorni impiegati per > coprire l'intero percorso ")) > > break > > except NameError: > > print() > > print("Devi inserire un valore numerico") > > print() > > print() > > while True: > > try: > > ore = eval(input("Inserisci il numero delle ore impiegate per > coprire l'intero percorso ")) > > break > > except NameError: > > print() > > print("Devi inserire un valore numerico") > > print() > > print() > > Per esempio puoi fare così: > > def leggi_valore(msg): > while True: > try: > valore = eval(input("Inserisci il numero di " + msg +" > impiegati per coprire l'intero percorso ")) > break > except NameError: > print() > print("Devi inserire un valore numerico") > print() > print() > return valore > > giorni = leggi_valore("giorni") > ore = leggi_valore("ore") > > Ecc. > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python