Python ungültiges Literal für int mit der Basis 10

Python ist gut darin, Werte in verschiedene Datentypen umzuwandeln. Sie können Strings in Integer, Integer in Strings, Floats in Integer umwandeln, um nur einige Beispiele zu nennen. Es gibt eine Konvertierung, die Python nicht mag: einen als String strukturierten Float in einen Integer zu ändern.

In diesem Tutorial besprechen wir den ValueError: invalid literal for int() mit dem Fehler der Basis 10 und warum er ausgelöst wird. Wir gehen ein Beispiel fur diesen Fehler durch, damit Sie verstehen, wie Sie ihn in Ihrem Code beheben können.

Das Problem: ValueError: invalid literal for int() with base 10

Let&rsquo ;s beginnen mit dem Lesen unserer Fehlermeldung:

Fehlermeldungen bestehen aus zwei Teilen. Der erste Teil sagt uns, welche Art von Fehler wir haben. Ein ValueError wird ausgelöst, wenn ein Problem mit dem in einem bestimmten Objekt gespeicherten Wert auftritt.

Unsere Fehlermeldung sagt uns, dass es ein ungultiges Literal fur eine ganze Zahl zur Basis 10 gibt. Dies bedeutet, dass der Wert wir die eine int()-Methode durchlaufen haben, können nicht konvertiert werden.

In Python können Sie als Strings formatierte Zahlen an die float()- und int()-Methoden.

Der int()-Methode erlaubt es Ihnen nicht, einen Float zu ubergeben, der als String dargestellt wird. Wenn Sie versuchen, einen nicht als Ganzzahl formatierten Stringwert zu konvertieren, wird dieser Fehler ausgelöst.

Das bedeutet, dass Sie eine Gleitkommazahl in einem String nicht in eine Ganzzahl konvertieren k√∂nnen. Au√üerdem k√∂nnen Sie Buchstaben nicht in eine ganze Zahl umwandeln (es sei denn, Sie verwenden Buchstaben mit einer besonderen Bedeutung, wie "inf‚").

81 % der Teilnehmer gaben an, dass sie sich danach sicherer in Bezug auf ihre Berufsaussichten im Technologiebereich fuhlten an einem Bootcamp teilnehmen. Lassen Sie sich noch heute in ein Bootcamp einweisen.

Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.

Hier erstellen wir ein Programm die berechnet, ob ein Kaffeehaus genug Kaffee vorrätig hat, um seine Kunden einen Tag lang zu bedienen. Unser Eingabefeld muss Dezimalzahlen akzeptieren, da Säcke halbvoll, viertelvoll usw. sein können.

Wir konvertieren den Wert, den ein Benutzer eingibt, in eine ganze Zahl, da wir nicht bis auf die Ebene von Halbbeuteln und Viertelbeuteln genau sein mussen.

Beginnen wir damit, den Benutzer mit einer input()-Anweisung aufzufordern, wie viele Kaffeebeutel noch ubrig sind:

Als n√§chstes konvertieren wir diesen Wert in eine ganze Zahl. Wir verwenden dann eine "if‚"-Anweisung, um zu uberprufen, ob das Kaffeehaus genug Kaffee hat. Wenn das Kaffeehaus mehr als 10 Tuten hat, werden sie haben genug fur den Tag, sonst nicht.

Lass uns das in unser Programm schreiben:

Lassen Sie uns unseren Code ausfuhren und sehen, was passiert:

Wenn wir versuchen, eine Dezimalzahl in unser Programm zu schreiben, wird ein Fehler zuruckgegeben.

Dieser Fehler wird verursacht, weil wir versuchen, "7.4: in eine ganze Zahl zu konvertieren. Der Wert "7,4‚" ist als String formatiert. Python kann eine Gleitkommazahl in einer Zeichenfolge nicht in eine ganze Zahl konvertieren.

Um dieses Problem zu lösen, mussen wir den Wert, den ein Benutzer einfugt, in eine Gleitkommazahl konvertieren. Dann können wir es in eine ganze Zahl umwandeln.

Wir können dies tun, indem wir die Anweisungen float() und int() verwenden. Die Funktion int() gibt eine ganze Zahl zuruck. Die Funktion float() gibt eine Gleitkommadarstellung eines Floats zuruck.

Unser Code konvertiert zuerst den Wert von "coffee_bags‚" zu einem Schwimmer. Als n√§chstes wandelt es diesen Wert in eine ganze Zahl um. Versuchen wir, unseren Code erneut auszufuhren:

Unser Code funktioniert erfolgreich. Nachdem wir nun "Kaffeetuten‚" in einen Float, unser Programm kann den Wert, den ein Benutzer einfugt, in eine ganze Zahl umwandeln.

Schlussfolgerung

Der Python ValueError: invalid literal for int() with base 10 error wird ausgelöst, wenn Sie versuchen, einen String-Wert zu konvertieren, der nicht formatiert ist als eine ganze Zahl.

Um dieses Problem zu lösen, können Sie die Methode float() verwenden, um eine Gleitkommazahl in einer Zeichenfolge in eine ganze Zahl umzuwandeln können Sie int() verwenden, um Ihre Zahl in eine ganze Zahl umzuwandeln.

Wenn dies nicht funktioniert, stellen Sie sicher, dass der Wert eines Strings keine Buchstaben enthält. Zeichenfolgen mit Buchstaben können nicht in eine ganze Zahl umgewandelt werden, es sei denn, diese Buchstaben haben in Python eine besondere Bedeutung.

Jetzt sind Sie bereit, diesen h√§ufigen Python-Fehler wie ein erfahrener Entwickler zu beheben!