Python String to Int: So konvertieren Sie einen String in Python in eine Ganzzahl

Im Gegensatz zu vielen anderen Programmiersprachen gibt Python keine impliziten Ganzzahlen (oder Gleitkommazahlen) in Zeichenfolgen ein, wenn Sie sie mit Zeichenfolgen verketten.

Glücklicherweise verfügt Python über eine praktische integrierte Funktion, str()die das übergebene Argument in ein Zeichenfolgenformat konvertiert.

Die falsche Methode zum Konvertieren eines Strings in eine Ganzzahl in Python

Programmierer aus anderen Programmiersprachen versuchen möglicherweise, die folgende Zeichenfolgenverkettung durchzuführen, was zu einem Fehler führt:

age = 18 string = "Hello, I am " + age + " years old"

Sie können diesen Code auf repl.it ausführen.

Der Fehler, der angezeigt wird, ist:

Traceback (most recent call last): File "python", line 3, in  TypeError: must be str, not int

Gibt hier an, TypeError: must be str, not intdass die Ganzzahl zuerst in eine Zeichenfolge konvertiert werden muss, bevor sie verkettet werden kann.

Der richtige Weg, um einen String in Python in eine Ganzzahl zu konvertieren

Hier ist ein einfaches Verkettungsbeispiel:

age = 18 print("Hello, I am " + str(age) + " years old") # Output # Hello, I am 18 years old

Sie können diesen Code auf repl.it ausführen.

So drucken Sie 1 2 3 4 5 6 7 8 9 10mit einer einzelnen Zeichenfolge:

result = "" for i in range(1, 11): result += str(i) + " " print(result) # Output # 1 2 3 4 5 6 7 8 9 10

Sie können den Code auf repl.it ausführen.

Hier ist eine zeilenweise Erklärung, wie der obige Code funktioniert:

  1. Zunächst wird einer leeren Zeichenfolge eine Variable 'result' zugewiesen.
  2. Die for-Schleife wird verwendet, um eine Liste von Zahlen zu durchlaufen.
  3. Diese Liste von Zahlen wird mit der Bereichsfunktion generiert.
  4. Der Bereich (1,11) generiert also eine Liste mit Zahlen von 1 bis 10.
  5. Bei jeder for-Schleifeniteration nimmt diese 'i'-Variable Werte von 1 bis 10 an.
  6. Bei der ersten Iteration, wenn die Variable i = 1, dann die Variable [Ergebnis = Ergebnis + str (i) + "(Leerzeichen)"], konvertiert str (i) das 'i', das ein ganzzahliger Wert ist, in einen Zeichenfolgenwert.
  7. Da i = 1 ist, ergibt sich bei der ersten Iteration schließlich = 1.
  8. Und der gleiche Prozess geht weiter bis i = 10 und schließlich nach dem letzten Iterationsergebnis = 1 2 3 4 5 6 7 8 9 10.
  9. Wenn wir also das Ergebnis nach der for-Schleife drucken, lautet die Ausgabe auf der Konsole '1 2 3 4 5 6 7 8 9 10'.

Ich hoffe, Sie fanden das hilfreich. Viel Spaß beim Codieren.