So konvertieren Sie einen String mit Python in eine Ganzzahl



In diesem Artikel erhalten Sie detaillierte und umfassende Kenntnisse zum Konvertieren einer Zeichenfolge in eine Ganzzahl auf verschiedene Arten anhand von Beispielen.

In diesem Thema erfahren Sie, wie Sie eine Zeichenfolge mit und ohne Verwendung des integrierten Datentyps in eine Ganzzahl konvertieren. Wir wissen, dass eine Zeichenfolge eine Sammlung von Zeichen ist, die nacheinander in Anführungszeichen eingeschlossen sind, und eine Ganzzahl eine Zahl ohne Dezimalstellen und ohne Anführungszeichen.

Zeichenfolge zu Ganzzahl-Python





Wenn sich jedoch die Frage stellt, wie ein Datentyp in einen anderen konvertiert werden kann, bietet Python eine einfache Möglichkeit, ihn ineinander zu konvertieren. In diesem Fall sehen wir, wie wir eine Zeichenfolge in der folgenden Reihenfolge in eine Ganzzahl konvertieren können:

Eingebaute Datentypen verwenden



Angenommen, wenn ich aus irgendeinem Grund Eingaben vom Benutzer nehme, nimmt Python diese und gibt sie selbst als Zeichenfolge zurück. Mit anderen Worten, selbst wenn jemand eine Zahl als Eingabe eingibt, gibt Python sie als Zeichenfolge zurück.

Name = Eingabe ('Wie ist Ihr Name:') Druck (Name) Druck (Typ (Name)) Alter = Eingabe ('Wie ist Ihr Alter:') Druck (Alter) Druck (Typ (Alter))

Ausgabe:

Wie ist dein Name: Tyra



Tyra

Was ist dein Alter: 20

zwanzig

Sie sehen also, dass die Art des Namens und des Alters, die als Eingabe verwendet werden, 'String' ist.

Angenommen, wir möchten dem Alter 5 hinzufügen, dann gehen wir wie folgt vor:

Name = Eingabe ('Wie ist Ihr Name:') Druck (Name) Druck (Typ (Name)) Alter = Eingabe ('Wie ist Ihr Alter:') Druck (Alter) Druck (Typ (Alter)) Druck (Alter +) 5)

Ausgabe:

Wie ist dein Name: Tyra

Tyra

Was ist dein Alter: 20

zwanzig

Traceback (letzter Anruf zuletzt):

Datei 'C: /Users/prac.py', Zeile 9, in

Druck (Alter + 5)

TypeError: muss str sein, nicht int

Wir können dem Alter keine 5 hinzufügen, da das Alter vom Typ String ist und wir mit Strings nicht direkt rechnen können. Wir müssen also das Alter in eine Ganzzahl ändern, da wir das Alter als Eingabe genommen haben und Python es als String zurückgibt.

Daher.

name = input ('Wie heißt du:') print (name) print (type (name)) age = input ('Wie alt bist du:') print (age) print (type (age)) age = int ( Alter) drucken (Alter + 5)

Ausgabe:

Wie ist dein Name: Tyra

Tyra

Was ist dein Alter: 20

zwanzig

25

Konventioneller Weg

Angenommen, wir möchten die integrierte Funktion int () nicht verwenden, um Zeichenfolgen in eine Ganzzahl umzuwandeln.Also müssen wir die verwenden konventioneller Weg umwandeln.

Hier ist ein einfacher Weg zur Konvertierung ohne Verwendung von int ().

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 wenn input_str [0] == '-': start_idx = 1 is_negative = True else: start_idx = 0 is_negative = False für i im Bereich (start_idx, len (input_str)): place = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = place * digit if is_negative: return -1 * output_int else: return output_int s = '554' x = str_to_int (s) print (Typ (x)) s = '123' print (str_to_int (s)) s = '-123' print (str_to_int (s))

Ausgabe:

123

-123

  • Zunächst prüfen wir, ob die vom Benutzer angegebene Nummer ein Minuszeichen enthält oder nicht, d. H. Ist es eine negative Zahl oder nicht.Wenn es an der ersten Stelle ein Minuszeichen enthält, beginnen wir unsere Konvertierung an der zweiten Stelle, die Zahlen enthält.

  • Jede Zahl, sagen wir 123, kann in das Formular geschrieben werden -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • In ähnlicher Weise teilen wir jede der eingegebenen Nummern mit Wort (Argument) .

    schnell scheitern vs sicher scheitern
  • ord ('0') gibt 48 zurück, ord ('1') gibt 49 usw. zurück.

  • Hier verwenden wir die Logik, dass ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 usw., die uns die signifikante Zahl gibt, die aus der gegebenen abgerufen werden soll Eingabenummer.

  • Schließlich ist die Ausgabe, die wir von der Funktion erhalten, eine legitime Ganzzahl, die wir aus der angegebenen Eingabezeichenfolge konvertiert haben.

Wie Sie sehen können, können wir jeden String entweder mit der Funktion int () oder auf herkömmliche Weise in eine Ganzzahl konvertieren.

Ich hoffe, dass Sie die Konzepte gut gelernt haben und es daher genauer ausprobieren. Damit sind wir am Ende dieses Artikels über das Konvertieren eines Strings in int mit Python angelangt.

Hast du eine Frage an uns? Bitte erwähnen Sie es im Kommentarbereich dieses Tutorial zu String to Integer. Wir werden uns so schnell wie möglich bei Ihnen melden.

Um detaillierte Informationen zu Python und seinen verschiedenen Anwendungen zu erhalten, können Sie sich live anmelden mit 24/7 Support und lebenslangem Zugriff.