Wie man Benutzereingaben als Ganzzahlen in Python einliest

  1. Lesen von Benutzereingaben als Ganzzahlen in Python 2.x
  2. Liest Benutzereingaben als Ganzzahlen in Python 3.x

In diesem Tutorial werden wir lernen, wie man Benutzereingaben als ganze Zahlen in Python lesen kann.

Lesen von Benutzereingaben als Ganzzahlen in Python 2.x

Python 2.7 hat zwei Funktionen, um die Benutzereingaben zu lesen, nämlich raw_input und input.

raw_input liest die Benutzereingabe als rohen String und sein Rückgabewert ist einfach string.

input holt die Benutzereingabe und wertet dann den String aus und das Ergebnis der Auswertung wird zurückgegeben.

Zum Beispiel,

>>> number = raw_input("Enter a number: ")
Enter a number: 1 + 1
>>> number, type(number)
('1 + 1', <type 'str'>)

>>> number = input("Enter a number: ")
Enter a number: 1 + 1
>>> number, type(number)
(2, <type 'int'>)
Warnung

Überlegen Sie es sich zweimal, wenn Sie input in Python 2.x benutzen. Es könnte Sicherheitsprobleme aufwerfen, weil input alle Benutzertypen auswertet.

Nehmen wir an, Sie haben bereits os in Ihr Programm importiert und dann fragt es nach Benutzereingaben,

>>> number = input("Enter a number: ")
Enter a number: os.remove(*.*)

Ihre Eingabe os.remove(*.*) wird ausgewertet und löscht alle Dateien in Ihrem Arbeitswörterbuch ohne Vorankündigung!

Liest Benutzereingaben als Ganzzahlen in Python 3.x

raw_input ist in Python 3.x veraltet und wird in Python 3.x durch input ersetzt. Es bekommt nur den String der Benutzereingabe, wertet den String aber wegen des oben beschriebenen Sicherheitsrisikos nicht aus.

Daher müssen Sie die Benutzereingabe explizit von der Zeichenkette in Ganzzahlen konvertieren.

>>> number = int(input("Enter a number: "))
Enter a number: 123
>>> number
123
comments powered by Disqus