Heim >Backend-Entwicklung >Python-Tutorial >Warum wirft Python den Fehler „ValueError: ungültiges Literal für int() mit Basis 10' aus?
ValueError: Ungültiges Literal für Int() – Entschlüsselung des Fehlers
Im Bereich der Python-Programmierung wird der Fehler „ValueError: Ungültiges Literal für Der Fehler „int() mit Basis 10“ tritt auf, wenn versucht wird, eine Zeichenfolge mithilfe der Funktion int() in eine Ganzzahl umzuwandeln. aber die Zeichenfolge kann nicht erfolgreich als ganzzahliger Wert interpretiert werden.
Fehlerursache
Dieser Fehler tritt normalerweise auf, wenn die Zeichenfolge Zeichen oder Symbole enthält, die nicht als erkannt werden Ziffern oder können nicht ordnungsgemäß in eine gültige ganze Zahl umgewandelt werden. Ein häufiges Beispiel ist, wenn die Zeichenfolge leer oder leer ist, da das Fehlen numerischer Zeichen ihre Konvertierung in eine Ganzzahl verhindert.
Beispielszenario
Bedenken Sie den Codeausschnitt wo Der Fehler ist aufgetreten:
>>> string_data = '' >>> integer_representation = int(string_data) ValueError: invalid literal for int() with base 10: ''
In diesem Fall wird der Zeichenfolge string_data ein leerer Zeichenfolgenwert zugewiesen. Wenn diese Zeichenfolge zur Konvertierung in eine Ganzzahl an die int()-Funktion übergeben wird, schlägt dies aufgrund fehlender Ziffern fehl.
Lösung
Um diesen Fehler zu beheben , muss unbedingt sichergestellt werden, dass die in eine Ganzzahl konvertierte Zeichenfolge gültige numerische Zeichen enthält und keine leere Zeichenfolge ist. Eine einfache Lösung besteht darin, die Zeichenfolge vor der Konvertierung auf Länge oder Leerheit zu überprüfen:
if len(string_data) > 0: integer_representation = int(string_data) else: # Handle error or provide a default value
Wenn die Zeichenfolge außerdem nicht numerische Zeichen oder Gleitkommawerte enthält, müssen Sie möglicherweise Vorgänge wie z B. das Herausfiltern nicht numerischer Zeichen oder das Konvertieren von Gleitkommawerten in Ganzzahlen über Zwischenkonvertierungen.
Das obige ist der detaillierte Inhalt vonWarum wirft Python den Fehler „ValueError: ungültiges Literal für int() mit Basis 10' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!