Python è bravo a convertire i valori in diversi tipi di dati. Puoi convertire stringhe in interi, interi in stringhe, float in interi, per citare alcuni esempi. C’è una conversione che a Python non piace: cambiare un float strutturato come stringa in un intero.
In questo tutorial, discutiamo di ValueError: valore letterale non valido per int()
con errore in base 10 e perché viene generato. Esaminiamo un esempio di questo errore per aiutarti a capire come puoi risolverlo nel tuo codice.
Il problema: ValueError: valore letterale non valido per int() con base 10
Let&rsquo ;s inizia leggendo il nostro messaggio di errore:
I messaggi di errore sono composti da due parti. La prima parte ci dice il tipo di errore che stiamo affrontando. Viene generato un ValueError quando c’è un problema con il valore memorizzato in un particolare oggetto.
Il nostro messaggio di errore ci dice che c’è un letterale non valido per un numero intero in base 10. Ciò significa che il valore che sono passati attraverso un metodo int()
non possono essere convertiti.
In Python, puoi passare numeri formattati come stringhe in float() e int().
Il int()
non ti consente di passare un float rappresentato come una stringa. Se si tenta di convertire qualsiasi valore di stringa non formattato come intero, viene generato questo errore.
Ciò significa che non è possibile convertire un numero a virgola mobile in una stringa in un numero intero. Inoltre, non è possibile convertire le lettere in un numero intero (a meno che non si utilizzino lettere con un significato speciale, come "inf").
L’81% dei partecipanti ha dichiarato di sentirsi più sicuro delle proprie prospettive di lavoro nel settore tecnologico dopo frequentando un bootcamp. Fatti abbinare a un bootcamp oggi.
Il laureato medio di un bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’avvio di un bootcamp alla ricerca del primo lavoro.
Qui creiamo un programma che calcola se una caffetteria ha abbastanza caffè in stock per servire i propri clienti per un giorno. Il nostro campo di input deve accettare numeri decimali perché i sacchetti possono essere pieni per metà, per un quarto e cosi via.