<p dir="ltr"><br>
On May 3, 2015 9:21 PM, "Carpediem" <<a href="mailto:i.carpediem@tiscali.it">i.carpediem@tiscali.it</a>> wrote:<br>
><br>
> 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.<br>
> Ho scritto un programmino per esercitarmi sulle notizioni acquisite.<br>
> 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.<br>
> 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.<br>
> 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.<br>
> 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.<br>
> 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.<br>
> Seguono istruzioni scritte per i primi due casi previsti (giorni e ore).<br>
> Grazie a tutti.<br>
><br>
><br>
> while True:<br>
> try:<br>
> giorni = eval(input("Inserisci il numero di giorni impiegati per coprire l'intero percorso "))<br>
> break<br>
> except NameError:<br>
> print()<br>
> print("Devi inserire un valore numerico")<br>
> print()<br>
> print()<br>
> while True:<br>
> try:<br>
> ore = eval(input("Inserisci il numero delle ore impiegate per coprire l'intero percorso "))<br>
> break<br>
> except NameError:<br>
> print()<br>
> print("Devi inserire un valore numerico")<br>
> print()<br>
> print()</p>
<p dir="ltr">Per esempio puoi fare così:<br></p>
<p dir="ltr">def leggi_valore(msg):<br>
while True:<br>
try:<br>
valore = eval(input("Inserisci il numero di " + msg +" impiegati per coprire l'intero percorso "))<br>
break<br>
except NameError:<br>
print()<br>
print("Devi inserire un valore numerico")<br>
print()<br>
print()<br>
return valore</p>
<p dir="ltr">giorni = leggi_valore("giorni") <br>
ore = leggi_valore("ore") </p>
<p dir="ltr">Ecc. <br>
</p>