Forum
>>
Principianti
>>
input e raw_input
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Rosario Pettinato |
2016-04-03 12:54:42 - input e raw_input
|
Io uso Python 2.7.x e mi sono posto il seguente quesito:
Esiste in Python una soluzione che consenta di inserire, interi, decimali, o stringhe ed identificarne il tipo in un secondo momento? 'input' mi concede l'immissione di interi e decimali ma mi restituisce un codice d'errore se provo ad immettere una stringa. 'raw_input' invece, accetta qualsiasi tipo di immissione anche numerica, che però di fatto risulterà essere una stringa e quindi non mi sarà possibile operarvi come sui decimali('2'+'2'==22). In pratica io vorrei richiedere all'utente l'immissione di un numero intero ma, qualora l'utente dovesse digitare una lettera identificarla come tale e chiedergli nuovamente l'inserimento di un valore numerico senza generare un codice d'errore. Sapreste dirmi come fare? Grazie in anticipo |
|
Scritto da Claudio_F |
2016-04-03 18:55:41 - Re: input e raw_input
|
'input' in Py 2 è stato un errore di percorso, il suo utilizzo è pericolosissimo perché permette di inserire comandi qualunque, compresa la cancellazione del disco, quindi va dimenticato e va usato sempre e solo 'raw_input'.
Oppure, per "compatibilizzarsi" con la sintassi di Python3 (in cui input corrisponde al raw_input di Py2) basta scrivere all'inizio del programma: input = raw_inpute così input funziona esattamente come raw_input, acquisisce sempre e solo una stringa e il suo uso è sicuro. Detto questo, una stringa si può convertire in intero o float rispettivamente con int(stringa) e float(stringa). Se contiene caratteri non validi viene generato un errore 'ValueError' che si può gestire con un blocco try/except try: a = int(stringa) except ValueError: ...quello che serve in caso di errore... *** Il codice va evidenziato con il simbolo di fianco ai colori per non perdere l'indentazione *** |
|
Scritto da Rosario Pettinato |
2016-04-04 05:40:27 - Re: input e raw_input
|
Grazie!
Era proprio quello che mi serviva sapere. --- Ultima modifica di anacron333 in data 2016-04-04 05:51:05 --- |
Pagina: 1
Esegui il login per scrivere una risposta.