Warum x und y Zeichenfolgen statt Ganzzahlen erhalten
Beim Ausführen des bereitgestellten Codes, insbesondere der Zeilen x = input("Geben Sie eine Zahl ein : ") und y = input("Geben Sie eine Zahl ein: ") wird der Benutzer aufgefordert, Werte einzugeben, die dann in x und y als Zeichenfolgen gespeichert werden als ganze Zahlen.
Grund für dieses Verhalten
Dieses Verhalten entsteht durch die Verarbeitung von Eingaben durch Python in verschiedenen Versionen. In Python 3, wo der bereitgestellte Code wahrscheinlich ausgeführt wird, gibt die Funktion input() den eingegebenen Wert standardmäßig als Zeichenfolge zurück. Um diese Zeichenfolge in eine Ganzzahl umzuwandeln, ist eine explizite Umwandlung erforderlich, wie im geänderten Code unten zu sehen ist:
x = int(input("Enter a number: ")) y = int(input("Enter a number: "))
Umgang mit unterschiedlichen Zahlenbasen
Python bietet eine vielseitige Möglichkeit Ansatz zur Annahme von Zahlen verschiedener Basen. Die Verwendung der entsprechenden Basis beim Umwandeln, wie unten gezeigt, ermöglicht die Interpretation von Zahlen in verschiedenen Basiswerten:
data = int(input("Enter a number: "), 8) # Converts to base 8 (octal) data = int(input("Enter a number: "), 16) # Converts to base 16 (hexadecimal) data = int(input("Enter a number: "), 2) # Converts to base 2 (binary)
Konvertierung in Float für Bruchwerte
Für Werte, die kann gebrochene Komponenten enthalten, es ist sinnvoll, sie in Gleitkommazahlen statt in Ganzzahlen umzuwandeln. Dies kann mit der folgenden Syntax erreicht werden:
x = float(input("Enter a number:"))
Unterscheidungsmerkmale zwischen Python 2 und 3
Zusammenfassung
Die wichtigsten Unterschiede zwischen Python 2 und 3 in Bezug auf Benutzereingaben sind:
Python 2.x-Verhalten
Python 3.x-Verhalten
Potenzielle Gefahren bei der Python 2.x-Eingabe Funktion
Bei der Verwendung der Eingabefunktion in Python 2.x ist es wichtig, auf deren automatische Auswertung zu achten, da sie zu unbeabsichtigtem Verhalten führen kann, z. B. zur Ermöglichung der Ausführung von Schadcode.
Das obige ist der detaillierte Inhalt vonWarum gibt Pythons „input()' Strings statt Ganzzahlen zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!